Buen día amigos. (Voy de nuevo con toda mi ignorancia :-[ amigo dongo).
Quiero pedir su ayuda para crear la página detalles.php
Estoy haciendo una web con código php para una inmobiliaria, ya tengo casi terminado el enlace donde esta el buscador de las viviendas (digo casi porque aún me falta la paginación), pero ya funciona el motor de búsqueda; ahora lo que intento hacer es la página donde me muestre dinámicamente los detalles de la vivienda que elija el ususrio.
Soy novato en PHP, tomé el ejemplo de cómo hacer una página detalles.php de la siguiente dirección:
http://www.forosdelweb.com/f18/como-crear-pagina-detalle-php-925191/
Fui adaptando el código al mío, pero no me da resultado. Dejo mi código esperando me pudiesen ayudar, además de unas imágenes de los errores que me aparecen y de la informacion de la base de datos a la que me conecto.
nombre del archivo:
busca_grand_prueba.php
<?php $tablaciudades = mysql_query("SELECT * FROM municipios_monterrey ORDER BY nombre_mun ASC"); // Seleccionamos las ciudades de la tabla ciudades while ($registrociudad = mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla ?>
<option value="<?php echo $registrociudad['id_mun']; ?>
"><?php echo $registrociudad['nombre_mun']; ?>
</option>
<?php } // termina la zona de repeticion mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla ?>
</select>
<input type="submit" name="cmdBuscar" id="cmdBuscar" value=" Buscar ">
</form>
<h5>Los campos marcados con (*) son obligatorios</h5>
</aside>
<article id="derecha">
<h2>Resultados de su búsqueda</h2>
<?php $sql = "SELECT propiedades.*, municipios_monterrey.* FROM propiedades, municipios_monterrey WHERE propiedades.id_mun = municipios_monterrey.id_mun "; if (isset($_POST['txtBusqueda'])) { $sql .= " AND propiedades.colonia LIKE '%" . $_POST['txtBusqueda'] . "%' "; if (intval($_POST['selCiudad']) > 0) { $sql .= " AND propiedades.id_mun = '" . intval($_POST['selCiudad']) . "'"; } } $sql .= " ORDER BY municipios_monterrey.nombre_mun ASC"; $tabla = mysql_query($sql); /*de aqui hasta el "else{" es el codigo para poner el mensaje de "no se encontraron resultados y el "}" que cierra esta al final, despues de "mysql_close($conexion);".*/ $num_filas=mysql_num_rows($tabla); if($num_filas==0){ echo "<center>No se encontraron resultados para su búsqueda</center>"; } else{ while ($registro = mysql_fetch_array($tabla)) { ?>
<?php $id = $registro['id_dir'];?>
<!--Esta línea es parte del código para hacer la pagina detalles.php, sin embargo no entiendo que campo debe ir entre los corchetes-->
<div class="propiedades">
<img id="img_array"src="<?php echo $registro['imagen'];?>
"/><br><br>
<label>Direccion:<?php echo $registro['direccion']; ?>
</label><br>
<label>Colonia:<?php echo $registro['colonia']; ?>
</label><br>
<label>Municipio:<?php echo $registro['municipio']; ?>
</label><br>
<label>Estado:<?php echo $registro['estado']; ?>
</label><br>
<label>Estatus:<?php echo $registro['estatus']; ?>
</label><br>
<img id="img_precio" src="../img/etiqueta_precio.png"/><label id="precio"><?php echo $registro['precio'];?>
</label><br>
<!--la siguiente línea es parte del código para hacer la página detalles.php-->
<a href="detalles_prueba.php?$id_anuncio=<?php echo $id?>
"><img id="img_llave" src="../img/llave_detalle.png"/></a><label id="llave">Ver Detalles</label>
</div>
<?php } mysql_free_result($tabla); mysql_close($conexion); } ?>
nombre del archivo:
detalles_prueba.php
<!--a partir de aqui van el código php que copie y que intento adaptar a mi código-->
<?php $id_anuncio = $_GET['id_dir']; echo "el id recibido es: $id <br><br>"; $sql=mysql_query (" SELECT propiedades.imagen, propiedades.direccion, propiedades.colonia,propiedades.municipio, propiedades.estado, propiedades.estatus,propiedades.precio, propiedades.superficie, propiedades.construccion,propiedades.plantas, propiedades.recamaras, propiedades.baños, FROM propiedades, municipios_monterrey WHERE propiedades.id_mun = municipios_monterrey.id_mun AND propiedades.id_dir = $id_anuncio"); while ($registro = mysql_fetch_array($sql)) { echo "Imagen: ".$registro['imagen']."<br>"; echo "Direccion: ".$registro['direccion']."<br>"; echo "Colonia: ".$registro['colonia']."<br>"; echo "Municipio: ".$registro['municipio']."<br>"; echo "Estado: ".$registro['estado']."<br>"; echo "Estatus: ".$registro['estatus']."<br>"; echo "Precio: ".$registro['precio']."<br>"; echo "Superficie: ".$registro['superficie']."<br>"; echo "Construccion: ".$registro['construccion']."<br>"; echo "Plantas: ".$registro['plantas']."<br>"; echo "Recamaras: ".$registro['recamaras']."<br>"; echo "Baños: ".$registro['baños']."<br>";
nombre de la base de datos: grandeza
nombre de la tabla 1: municipios_monterrey
contiene 2 campos:
id_mun (esta campo es el que se enlaza con la tabla 2)
nombre_mun
nombre de la tabla 2: propiedades
contiene 14 campos:
id_dir
imagen
direccion
colonia
municipio
estado
estatus
precio
superficie
construccion
baños
recamaras
plantas
id_mun (este campo es el que se enlaza con la tabla 1)
Gracias por todo, Dios les Bendiga y les Conserve la Salud.
Saludos amigo dongo!!! Gracias por tomarte siempre la molestia y el tiempo de ayudarme, y por convertirte en mi maestro ;D!!
Me sigue dando fallos, pero con tu ayuda y volviendo a leer todo lo que comentan en el enlace que dejé más arriba, me doy cuenta de que el id que debo poner en mi caso es el "id_mun" de la tabla llamada propiedades, bueno eso creo yo, porque cuando doy un click al enlace de la página busca_grand_prueba.php para ir a detalles_prueba.php en la url si me pone el id correcto de cada registro.
Voy poniendo el código por partes y voy expresando mis dudas
En la siguiente línea de código no entiendo que campo se toma entre los corchetes, por lo que he leído es el campo de la tabla "propiedades" que enlaza con la tabla "municipios_monterrey" si es así en mi caso es 'id_mun'sino me equivoco:
<?php $id = $registro['id_mun'];?>
La siguiente línea de código la dejé igual
<a href="detalles_prueba.php?$id_anuncio=<?php echo $id?>
"><img id="img_llave" src="../img/llave_detalle.png"/></a><label id="llave">Ver Detalles</label>
Hasta aquí todo este código es en lapágina llamada busca_grand_prueba.php
Ahora el código de la página detalles_prueba.php
En la siguiente línea de código tomó la variable que mande que es $id_anuncio
$id_anuncio = $_GET['id_anuncio'];
Aquí esta la query
$sql=mysql_query ("
SELECT propiedades.imagen, propiedades.direccion, propiedades.colonia,propiedades.municipio, propiedades.estado, propiedades.estatus,propiedades.precio, propiedades.superficie, propiedades.construccion,propiedades.plantas, propiedades.recamaras, propiedades.baños,
FROM propiedades, municipios_monterrey
WHERE propiedades.id_mun = municipios_monterrey.id_mun AND propiedades.id_mun = $id_anuncio");
Y el código para que me muestre los campos que deseo
while ($registro = mysql_fetch_array($sql))
{
echo "Imagen: ".$registro['imagen']."<br>";
echo "Direccion: ".$registro['direccion']."<br>";
echo "Colonia: ".$registro['colonia']."<br>";
echo "Municipio: ".$registro['municipio']."<br>";
echo "Estado: ".$registro['estado']."<br>";
echo "Estatus: ".$registro['estatus']."<br>";
echo "Precio: ".$registro['precio']."<br>";
echo "Superficie: ".$registro['superficie']."<br>";
echo "Construccion: ".$registro['construccion']."<br>";
echo "Plantas: ".$registro['plantas']."<br>";
echo "Recamaras: ".$registro['recamaras']."<br>";
echo "Baños: ".$registro['baños']."<br>";
}
?>
dejo una imagen de los errores que me arroja, estos errores me los arroja en la página detalles_prueba.php
Gracias por todo amigo y maestro dongo, Dios te Bendiga y te Conserve la Salud.
Que tal amigo dongo!!
Claro que sí, te muestro el código completo y lo adjunto tambien, gracias por tu ayuda. La línea 30 es donde comienza el "while"
<?php$conexion = mysql_connect('localhost', 'root', '');mysql_select_db('grandeza');?>
<html>
<head>
<meta charset="utf-8"/>
<meta name"description" content="Caja 2 con responsive"/>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/>
<title>Grupo Grandeza</title>
<link rel="shortcut icon" type="image/x-icon" href="../img/grandeza.ico" />
<link rel="stylesheet" type="text/css" href="../css/reset.css">
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="../css/estilos.css">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Lato:300,400">
</head>
<body>
<section id="contenedor-detalles">
<section id="principal-detalles">
<article id="art-detalles">
<!--a partir de aqui van el código php que copie y que intento adaptar a mi código-->
<?php $id_anuncio = $_GET['id_mun']; echo "el id recibido es: $id_anuncio <br><br>"; $sql=mysql_query (" SELECT propiedades.imagen, propiedades.direccion, propiedades.colonia,propiedades.municipio, propiedades.estado, propiedades.estatus,propiedades.precio, propiedades.superficie, propiedades.construccion,propiedades.plantas, propiedades.recamaras, propiedades.baños, FROM propiedades, municipios_monterrey WHERE propiedades.id_mun = municipios_monterrey.id_mun AND propiedades.id_mun = $id_anuncio"); while ($registro = mysql_fetch_array($sql)) { echo "Imagen: ".$registro['imagen']."<br>"; echo "Direccion: ".$registro['direccion']."<br>"; echo "Colonia: ".$registro['colonia']."<br>"; echo "Municipio: ".$registro['municipio']."<br>"; echo "Estado: ".$registro['estado']."<br>"; echo "Estatus: ".$registro['estatus']."<br>"; echo "Precio: ".$registro['precio']."<br>"; echo "Superficie: ".$registro['superficie']."<br>"; echo "Construccion: ".$registro['construccion']."<br>"; echo "Plantas: ".$registro['plantas']."<br>"; echo "Recamaras: ".$registro['recamaras']."<br>"; echo "Baños: ".$registro['baños']."<br>"; } ?>
</article>
aqui va otro texto
</section>
<aside id="asd-detalles">
aqui va el mapa de google
</aside>
</section>
<footer>
Este es el pie de página
</footer>
</body>
</html>
Dios te Bendiga y te Conserve la Salud.
Hola amigo, he repasado el fichero 3 o 4 veces y lo veo todo correcto, por lo que me da a entender que el error está en la consulta sql...
le he añadido un par de lineas a tu código para comprobar esto:
<?php$conexion = mysql_connect('localhost', 'root', '');mysql_select_db('grandeza');?>
<html>
<head>
<meta charset="utf-8"/>
<meta name"description" content="Caja 2 con responsive"/>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/>
<title>Grupo Grandeza</title>
<link rel="shortcut icon" type="image/x-icon" href="../img/grandeza.ico" />
<link rel="stylesheet" type="text/css" href="../css/reset.css">
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="../css/estilos.css">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Lato:300,400">
</head>
<body>
<section id="contenedor-detalles">
<section id="principal-detalles">
<article id="art-detalles">
<!--a partir de aqui van el código php que copie y que intento adaptar a mi código-->
<?php $id_anuncio = $_GET['id_mun']; echo "el id recibido es: $id_anuncio <br><br>"; $sql=mysql_query (" SELECT propiedades.imagen, propiedades.direccion, propiedades.colonia,propiedades.municipio, propiedades.estado, propiedades.estatus,propiedades.precio, propiedades.superficie, propiedades.construccion,propiedades.plantas, propiedades.recamaras, propiedades.baños, FROM propiedades, municipios_monterrey WHERE propiedades.id_mun = municipios_monterrey.id_mun AND propiedades.id_mun = $id_anuncio"); if(!$result) { die("Error: ".mysql_error()); } $numero_filas = mysql_num_rows($sql); echo "la consulta ha devuelto ".$numero_filas; while ($registro = mysql_fetch_array($sql)) { echo "Imagen: ".$registro['imagen']."<br>"; echo "Direccion: ".$registro['direccion']."<br>"; echo "Colonia: ".$registro['colonia']."<br>"; echo "Municipio: ".$registro['municipio']."<br>"; echo "Estado: ".$registro['estado']."<br>"; echo "Estatus: ".$registro['estatus']."<br>"; echo "Precio: ".$registro['precio']."<br>"; echo "Superficie: ".$registro['superficie']."<br>"; echo "Construccion: ".$registro['construccion']."<br>"; echo "Plantas: ".$registro['plantas']."<br>"; echo "Recamaras: ".$registro['recamaras']."<br>"; echo "Baños: ".$registro['baños']."<br>"; } ?>
</article>
aqui va otro texto
</section>
<aside id="asd-detalles">
aqui va el mapa de google
</aside>
</section>
<footer>
Este es el pie de página
</footer>
</body>
</html>
Pruebalo, y ya nos cuentas, repasa la consulta sql y si puedes intenta ejecutarla en phpmyadmin con un valor concreto de id_anuncio a ver si el php myadmin te la ejecuta,.
Bueno pues nada, ya nos cuentas.
Vaya amigo dongo ha quedado resuelto!!!!!!!!!!!!
Lo resolvimos!!!!!!! ;D
Cambié un par de cosas en el código en donde decía: id_mun, era id_dir y ha quedado!!!
Adjunto el código correcto
busca_grand_nl_prueba.php
<?php $id = $registro['id_dir'];?>
<!--En esta línea del código va entre corchetes el id de la tabla propiedades-->
<div class="propiedades">
<img id="img_array"src="<?php echo $registro['imagen'];?>
"/><br><br>
<label>Direccion:<?php echo $registro['direccion']; ?>
</label><br>
<label>Colonia:<?php echo $registro['colonia']; ?>
</label><br>
<label>Municipio:<?php echo $registro['municipio']; ?>
</label><br>
<label>Estado:<?php echo $registro['estado']; ?>
</label><br>
<label>Estatus:<?php echo $registro['estatus']; ?>
</label><br>
<img id="img_precio" src="../img/etiqueta_precio.png"/><label id="precio"><?php echo $registro['precio'];?>
</label><br>
<a href="detalles.php?id_dir=<?php echo $id?>
"><img id="img_llave" src="../img/llave_detalle.png"/></a><label id="llave">Ver Detalles</label>
</div>
detalles_prueba.php
<?php $id_anuncio = $_GET['id_dir']; /*La siguiente línea de código es para mostrar en pantalla si se recibe el id correcto echo "el id recibido es: $id_anuncio <br><br>"; */ $sql=mysql_query (" SELECT propiedades.imagen, propiedades.direccion, propiedades.colonia,propiedades.municipio, propiedades.estado, propiedades.estatus,propiedades.precio, propiedades.superficie, propiedades.construccion,propiedades.plantas, propiedades.recamaras, propiedades.banos FROM propiedades, municipios_monterrey WHERE propiedades.id_mun = municipios_monterrey.id_mun AND propiedades.id_dir = $id_anuncio"); /*El siguiente comentario contiene un código para demostrar si hay o no error en la sentencia: if(!$sql){ die("Error: ".mysql_error()); } $numero_filas = mysql_num_rows($sql); echo "la consulta ha devuelto ".$numero_filas;*/ while ($registro = mysql_fetch_array($sql)) { ?>
<img id="img_array"src="<?php echo $registro['imagen'];?>
"/><br><br>
<label>Direccion:<?php echo $registro['direccion']; ?>
</label><br>
<label>Colonia:<?php echo $registro['colonia']; ?>
</label><br>
<label>Municipio:<?php echo $registro['municipio']; ?>
</label><br>
<label>Estado:<?php echo $registro['estado']; ?>
</label><br>
<label>Estatus:<?php echo $registro['estatus']; ?>
</label><br>
<label>Precio:<?php echo $registro['precio']; ?>
</label><br>
<?php } ?>
Genial amigo dongo!!!
Gracias por tu inmejorable ayuda, Dios te Bendiga y te Conserve la Salud.
PD: Ahora sigue el reto de la paginación, espero hacerlo bien, sino estaré comentando mis dudas en otro post, pidiendo tu ayuda amigo dongo jejeje.