PHP - Obtener id de un hipervínculo presionado

   
Vista:
Imágen de perfil de Ariel

Obtener id de un hipervínculo presionado

Publicado por Ariel (7 intervenciones) el 02/09/2014 14:59:33
Hola, eh decidido publicar mi problema por que desde ayer estoy dando vueltas sobre lo mismo y no logro una solución.
Estoy trabajando en un sitio web para una inmobiliaria, y tengo un archivo (mostrarDestacadas.php) que se encarga de obtener de la base de datos todas las propiedades destacadas que están a la venta y publicarlas en el home del sitio, cada una con un hipervínculo para su acceso.
Mi problema surge cuando una vez publicadas las propiedades intento entrar en alguna de ellas, ya que no puedo lograr que me muestre los datos correspondientes a la misma. Al hacer clic en alguna de las propiedades publicadas soy dirigido a alquiler.php, que es el archivo que debería encargarse de mostrar los datos de la propiedad elegida pero no muestra nada. Eh intentado poniendo la id de la propiedad a mostrar como id del hipervinculo para así luego obtenerla nuevamente con $_GET o $_POST pero algo debe estar mal por que no me funciono.

Aquí el código de mostrarDestacadas.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
include("variables.php");
$con=mysql_connect($servidor, $usuario_db, $password_db); //conexion MySQl
mysql_select_db($base_db,$con); //Seleccionar base datos
 
$query = "SELECT fotos.ruta, propiedades.idPropiedad, propiedades.calle, alturaCalle, propiedades.tipo, propiedades.operacion, propiedades.descripcion, propiedades.fechaSubida
FROM fotos, propiedades
WHERE fotos.idPropiedad = propiedades.idPropiedad
AND fotos.fotoPrincipal =  'Si'
AND propiedades.destacada='Si'
ORDER BY propiedades.fechaSubida DESC ";
 
$datos=mysql_query($query, $con);
echo "<p class='tituloBuscador'>Destacados<p/>";
while($row=mysql_fetch_array($datos)){
 
  $idPropiedad= $row['propiedades.idPropiedad'];
  $ruta= $row['ruta'];
  $calle= $row['calle'];
  $alturaCalle= $row['alturaCalle'];
  $tipo= $row['tipo'];
  $operacion=$row['operacion'];
	$operacionMayus=strtoupper($operacion);//Convierto la operación a letras mayusculas.     
  $descripcion=$row['descripcion'];
	$resumen= substr($descripcion,0,50)."..."; //Se obtiene un substring para mostrar solo una parte de la descripción y en todos iguales.
 
  echo "<table>
                  
                       		   	 <td>
                                      <img src='$ruta' width='300px' height='200px'>
                                 </td>	
                                 
								  <td>           		               	
									  <p class='cartelInmobiliario'><a href='alquiler.php?id='$idPropiedad'' class='cartelInmobiliario'>$operacionMayus</a></p> 
                                      <p class='tipoPropiedad'>$tipo</p>
									  <p class='direccionPropiedad'>$calle $alturaCalle</p>
                                      <p class='descripcionPropiedad'>$resumen</p>  
                                  </td>             
           </table>";
 }
 
?>



Aquí el codigo Alquiler.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$idPropiedad =(int)$_GET['id'];
include("variables.php");
$con=mysql_connect($servidor, $usuario_db, $password_db); //conexion MySQl
mysql_select_db($base_db,$con); //Seleccionar base datos
 
$query = "SELECT id, titulo, contenido, ruta, descripcion, dia, mes, categoria FROM noticias WHERE id='$idnoticia'";
$result = mysql_query($query);
 
 
 $query = "SELECT * from propiedades where idPropiedad = $idPropiedad";
 $datos = mysql_query($query, $con);
 $row = mysql_fetch_array($datos);
 
echo"
						<div class='divDescripcionPropiedad'>
						<p class='cartelInmobiliario'>".$row['operacion']."</p>
                        <p class='tipoPropiedad'>".$row['tipo']."</p>
                        <p class='direccionPropiedad'>".$row['calle']." ".$row['alturaCalle']."</p>
                        <p class='descripcionPropiedad'>".$row['descripcion']."</p>";
		             }
 ?>


Espero sepan entenderme y ayudarme! muchas gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Obtener id de un hipervínculo presionado

Publicado por xve (5519 intervenciones) el 02/09/2014 20:26:50
Hola Ariel, en esta linea, veo un problema de comillas...
1
...<a href='alquiler.php?id='$idPropiedad'' class=...
Yo lo pondría así:
1
...<a href='alquiler.php?id=".$idPropiedad."' class=...

Si miras el código fuente de la página, aparece algún valor en el id?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Ariel

Obtener id de un hipervínculo presionado

Publicado por Ariel (7 intervenciones) el 02/09/2014 20:49:14
Antes que nada, muchas gracias por tu respuesta!
Probé cambiando las comillas a como me sugeriste pero sigue funcionando de igual forma...y esto es lo que me sale cuando miro el código fuente de la página:

<a href="alquiler.php?id=" class="cartelInmobiliario">VENTA</a>


No me figura ningún id al parecer!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Obtener id de un hipervínculo presionado

Publicado por xve (5519 intervenciones) el 02/09/2014 21:28:13
Por lo que comentas Ariel, el problema lo tienes en la variable $idPropiedad, que no tiene ningún valor!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Ariel

Obtener id de un hipervínculo presionado

Publicado por Ariel (7 intervenciones) el 02/09/2014 21:55:51
De hecho, tenías razón!! el problema era que no tenía valor la variable $idPropiedad. Yo tenía esta asignación en el archivo mostrarDestacadas.php:

$idPropiedad= $row['propiedades.idPropiedad'];

estaba mal, la cambie por esto y funciona perfecto:

$idPropiedad= $row['idPropiedad'];


Muchas gracias por tu ayuda xve!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar