1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Tutorial Web de Bienes Raices o Inmobiliarias PHP y MySQL

Tema en 'Tutoriales Desarrollo Web' iniciado por elQuique, 22 Feb 2007.

  1. Rsolo

    Rsolo Nuevo usuario

    Buenas, soy nuevo por aqui, al igual que todos pasaba por aqui y quedé prendado de la impresionante fuente de información que teneis montada, todo gracias a <<elQuique>>, un figura.

    Seguí el tuto al dedillo, luego intenté seguir ampliando el filtro de la búsqueda con otro list/value para el número de habitaciones, y ahí me quedé. Por mi cuenta conseguí algo pero nada importante, pero luego gracias a un colaborador de este foro al que le surgió un problema similar he conseguido esto:

    <?php
    $conexion = mysql_connect('localhost', 'root', 'rsolo');
    mysql_select_db('inmobiliaria');
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
    <body>
    <form action="Untitled-1.php" method="post" name="form1" id="form1">
    <label>Buscar:
    <input name="txtBusqueda" type="text" id="txtBusqueda" />
    Ciudad:
    <select name="selCiudad" id="selCiudad">
    <option value="-1" selected="selected">Todas</option>
    <?php
    $tablaciudades = mysql_query("SELECT * FROM ciudades ORDER BY nombre ASC");
    while ($registrociudad = mysql_fetch_array($tablaciudades)) {
    ?>
    <option value="<?php echo $registrociudad['id'];?>"><?php echo $registrociudad['nombre']; ?></option>
    <?php
    }
    mysql_free_result($tablaciudades);
    ?>
    </select>
    </label>
    <label>Habitaciones
    <select name="selHabitaciones" id="selHabitaciones">
    <option value="-1">-Indistinto-</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">M&aacute;s de 5</option>
    <?php
    $tablapropiedades = mysql_query("SELECT habitaciones FROM propiedades ORDER BY nombre ASC");
    while ($registropropiedades = mysql_fetch_array($tablapropiedades)) {
    ?>
    <option value="<?php echo $registropropiedades['id']; ?>"><?php echo $registropropiedades['habitaciones']; ?></option>
    <?php
    }
    mysql_free_result($tablapropiedades);
    ?>
    </select>
    </label>
    <input name="cdmBuscar" type="submit" id="cdmBuscar" value="Buscar" />
    </form>
    <table border="1">
    <tr>
    <td><font size="3">ID Inmueble </font></td>
    <td><font size="3">Tipo Inmueble</font></td>
    <td><font size="3">Zona</font></td>
    <td><font size="3">Habitaciones</font></td>
    <td><font size="3">Descripci&oacute;n</font></td>
    <td><font size="3">Precio</font></td>
    </tr>
    <?php
    $sql = "SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id ";
    if (isset($_POST['txtBusqueda'])) {
    $sql .= " AND propiedades.titulo. LIKE '%" . $_POST['txtBusqueda'] . "%' ";
    if (intval($_POST['selCiudad']) > 0) {
    $sql .= " AND propiedades.idciudad = '" . intval($_POST['selCiudad']) . "'";
    $sql .= " AND propiedades.habitaciones LIKE '%" . $_POST['txtBusqueda'] . "%' ";
    if (intval($_POST['selHabitaciones']) > 0) {
    $sql .= " AND propiedades.habitaciones = '" . intval($_POST['selHabitaciones']) . "'";
    }
    }
    }
    $sql .= " ORDER BY zona.nombre ASC";
    $tablapropiedades = mysql_query($sql);
    while ($registropropiedades = mysql_fetch_array($tablapropiedades)) {
    ?>
    <tr>
    <td><font size="3"><?php echo $registropropiedades['id']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['tipo']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['nombre']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['habitaciones']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['descripcion']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['precio']; ?>&euro;</font></td>
    </tr>
    <?php
    }
    mysql_free_result($tablapropiedades);
    mysql_close($conexion);
    ?>
    </body>
    </html>

    Pero me da error:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Untitled-1.php on line 73

    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Untitled-1.php on line 85

    La verdad es que estoy super-atrancado, si me pudieran hechar una mano.
     
  2. elQuique

    elQuique Usuario activo

    Bienvenido al foro

    El error te da en la linea 73 porque no tienes un grupo de registros que recorrer, y esto pasa porque en la linea 72 ejecutas una consulta con un SQL contenido en $sql que esta mal formado.

    Fíjate bien si esa sentencia SQL de selección esta bien formada y si las tablas y campos se llaman, verifica que es sensitivo a mayúsculas y minúsculas.

    Si quieres puedes en la linea 73 poner un:

    echo $sql;

    para imprimir la consulta y ver si esta bien formada :), y la posteas, o también la pegas en el phpMyAdmin y te dice donde esta el fallo.
     
  3. Rsolo

    Rsolo Nuevo usuario

    Puse el echo $sql en la linea 73 y me salió esto:

    SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id ORDER BY ciudades.nombre ASC

    Lo comprobé en phpMyadmin y me relacionó las dos tablas sin dar ningún error.

    La estructura de la base de datos es idéntica a la que explicas en el tuto.

    Y todavía me sigue saliendo el error, pero ahora cuando le doy a buscar, antes era al cargar la página. Se entiende que debería ser alguna consulta que no está correcta, no se. Aqui os dejo el código con algunas modificaciones.

    <?php
    $conexion = mysql_connect('localhost', 'root', 'rsolo');
    mysql_select_db('inmobiliaria');
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
    <body>
    <form action="Untitled-1.php" method="post" name="form1" id="form1">
    <label>Buscar:
    <input name="txtBusqueda" type="text" id="txtBusqueda" />
    Ciudad:
    <select name="selCiudad" id="selCiudad">
    <option value="-1" selected="selected">Todas</option>
    <?php
    $tablaciudades = mysql_query("SELECT * FROM ciudades ORDER BY nombre ASC");
    while ($registrociudad = mysql_fetch_array($tablaciudades)) {
    ?>
    <option value="<?php echo $registrociudad['id'];?>"><?php echo $registrociudad['nombre']; ?></option>
    <?php
    }
    mysql_free_result($tablaciudades);
    ?>
    </select>
    </label>
    <label>Habitaciones
    <select name="selHabitaciones" id="selHabitaciones">
    <option value="-1">-Indistinto-</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">M&aacute;s de 5</option>
    <?php
    $tablapropiedades = mysql_query("SELECT habitaciones FROM propiedades ORDER BY nombre ASC");
    while ($registropropiedades = mysql_fetch_array($tablapropiedades)) {
    ?>
    <option value="<?php echo $registropropiedades['id']; ?>"><?php echo $registropropiedades['habitaciones']; ?></option>
    <?php
    }
    mysql_free_result($tablapropiedades);
    ?>
    </select>
    </label>
    <input name="cdmBuscar" type="submit" id="cdmBuscar" value="Buscar" />
    </form>
    <table border="1">
    <tr>
    <td><font size="3">ID Inmueble </font></td>
    <td><font size="3">Tipo Inmueble</font></td>
    <td><font size="3">Ciudad</font></td>
    <td><font size="3">Habitaciones</font></td>
    <td><font size="3">Descripci&oacute;n</font></td>
    <td><font size="3">Precio</font></td>
    </tr>
    <?php
    $sql = "SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id ";
    if (isset($_POST['txtBusqueda'])) {
    $sql .= " AND propiedades.titulo. LIKE '%" . $_POST['txtBusqueda'] . "%' ";
    if (intval($_POST['selCiudad']) > 0) {
    $sql .= " AND propiedades.idciudad = '" . intval($_POST['selCiudad']) . "'";
    $sql .= " AND propiedades.habitaciones LIKE '%" . $_POST['txtBusqueda'] . "%' ";
    if (intval($_POST['selHabitaciones']) > 0) {
    $sql .= " AND propiedades.habitaciones = '" . intval($_POST['selHabitaciones']) . "'";
    }
    }
    }
    $sql .= " ORDER BY ciudades.nombre ASC";
    $tablapropiedades = mysql_query($sql);
    while ($registropropiedades = mysql_fetch_array($tablapropiedades)) {
    ?>
    <tr>
    <td><font size="3"><?php echo $registropropiedades['id']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['titulo']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['idciudad']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['habitaciones']; ?></font></td>
    <td><font size="3"><?php echo $registropropiedades['descripcion']; ?></font></td>
    <td><font size="3">Venta: <?php echo $registropropiedades['precioventa']; ?> / Renta: <?php echo $registropropiedades['preciorenta']; ?>&euro;</font></td>
    </tr>
    <?php
    }
    mysql_free_result($tablapropiedades);
    mysql_close($conexion);
    ?>
    </body>
    </html>
     
  4. elQuique

    elQuique Usuario activo

    Si es al llamarlo en la búsqueda esa no puede ser la SQL ya que le falta el WHERE de los filtros, verifica bien eso.
     
  5. Rsolo

    Rsolo Nuevo usuario

    A cuál te refieres, a la sentencia que me dió el echo $sql. Que no puede ser la que me de? O a la de la línea 71 $sql .= " ORDER BY ciudades.nombre ASC ". Lo siento pero no te entendí muy bien. Estoy un poco verde todavía.

    También puede ser que nos hallamos desviado del tema y que lo que verdaderamente pasa es que hay un conflicto entre las 2 tablas, al tener igual campo id; o que solo este consultando y liberando memoria de una tabla o algo así?
     
  6. HUGOX

    HUGOX Nuevo usuario

    HOLA ELQUIQUE ESPERO ESTES BIEN SOLO UNA PREGUNTA EL TUTORIAL DE BIENES RAICES YA LLEGO A SU FIN ESPERO QUE NO PERO SI ES ASI GRACIAS POR EL APORTE Y FELICIDADES POR TODO TU APORTE EN EL FORO
     
  7. elQuique

    elQuique Usuario activo

    No escribas todo en mayusculas, el tutorial aun no termina.
     
  8. mirodriguez

    mirodriguez Nuevo usuario

    Como sigue el tutorial??

    Espero no perdermelo, me esta siendo de mucha ayuda, gracias
     
  9. hguerrah

    hguerrah Nuevo usuario

    Quique. De nuevo quiero molestarte. Simpre me has ayudado con tus consejos. Mi pregunta es la siguiente: Tengo una página web en la que aparecen los resultados de la búsqueda de inmuebles en venta, y entre ellos una foto. cómo hago para poner un enlace en la foto a otra página en la que se abra una ficha con la información completa del inmueble?
     
  10. webmasterecr2008

    webmasterecr2008 Nuevo usuario

    felicitaciones elQuique
     
  11. webmasterecr2008

    webmasterecr2008 Nuevo usuario

    <!--fonto:Arial--><span style="font-family:Arial"><!--/fonto--> <!--fontc--></span><!--/fontc-->

    Ante todo mis mas sinceras felicitaciones ElQuique por este tutorial. Hasta hace poco segui un curso pero la verdad es que no lo entendi muy bien pero con este tutorial se aclararon las cosas y ahora le entiendo mucho mejor y porsupuesto que lo estoy practicando, he seguido los tutoriales hasta la octava entrega y ahora estoy esperando con ansias mi estimado profesor de las demás, ya que dices que son 56 entregas, estoy como loco, ho nos hagas sufrir mas y porfavor publica las demas entregas, quisiera saber de que manera podria compensar todo este esfuerzo ya que de antemano les sirve a todo el mundo se registren o no. Estoy verdaderamente impresionado con lo que estas haciendo porque valgan verdades un curso de esta calidad cuesta amigo y cuesta mucho. MUCHAS MUCHISIMAS GRACIAS DE CORAZON.
     
  12. elQuique

    elQuique Usuario activo

    mirodriguez, bienvenido al foro

    webmasterecr2008, bienvenido al foro

    Gracias por sus palabras, a fin de la próxima semana cuando termine esto de vacaciones y oleadas de trabajo continuare con todos los tutoriales pendientes.
     
  13. pasencioo

    pasencioo Guest

    Quique, primero que todo darte de todo corazón las gracias. Soy nuevo en programación de paginas web y justamente estoy modificando una pagina que hice de propiedades y este manual me sirvió mucho por que era justo lo que quiero modificar en mi pagina(echa en Dreamweaver mx 2004) mi pagina era muy plana y la quería hacer mas dinámica. Todo lo que me explicaste lo entendí a la perfección en un día y sacaste todas las dudas. Hoy se mas que ayer gracias a tu voluntad de enseñar y mía de aprender.
    Pasando a una consulta, quiero incorporar a la base de datos una fotografía, ¿como lo puedo realizar?.

    GRANDE QUIQUE, Y GRACIAS POR LA PACIENCIA.
     
  14. elQuique

    elQuique Usuario activo

    pasencioo, bienvenido al foro.

    Sobre la foto, lo mejor es crear un campo texto que guarde el nombre de la foto, no la foto en si, ya que sobrecargas la base de dato con peso innecesario.

    La imagen la subes pero como archivo en una carpeta, usa este tutorial:

    <a href="http://www.tallerwebmaster.com/Tutorial-Publicar-Imagenes-en-Internet-c-44.html" target="_blank">http://www.tallerwebmaster.com/Tutorial-Pu...ernet-c-44.html</a>
     
  15. pasencioo

    pasencioo Guest

    <!--quoteo(post=286880:date=Feb 21 2008, 09:40 AM:name=elQuique)--><div class='quotetop'>CITA(elQuique @ Feb 21 2008, 09:40 AM) [snapback]286880[/snapback]</div><div class='quotemain'><!--quotec-->
    pasencioo, bienvenido al foro.

    Sobre la foto, lo mejor es crear un campo texto que guarde el nombre de la foto, no la foto en si, ya que sobrecargas la base de dato con peso innecesario.

    La imagen la subes pero como archivo en una carpeta, usa este tutorial:

    <a href="http://www.tallerwebmaster.com/Tutorial-Publicar-Imagenes-en-Internet-c-44.html" target="_blank">http://www.tallerwebmaster.com/Tutorial-Pu...ernet-c-44.html</a>
    <!--QuoteEnd--></div><!--QuoteEEnd-->


    Muchas gracias, usted y su voluntad de oro. Lo reviso y te aviso. :clapping:
     
  16. Ante todo, quería felicitarlos por los tutoriales. EXCELENTE!

    Les cuento que seguí las instrucciones al pie de la letra y me sale el siguiente error que no puedo subsanar.

    ...
    Reporte de Ciudades
    ID Ciudad Nombre

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/ga000221/public_html/TestSite1.php on line 20

    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/ga000221/public_html/TestSite1.php on line 28
    ...

    Si saben qué es lo que puede estar pasando, les pido por favor que me contesten este mensaje a ---- lee las reglas del foro <a href="http://www.forocreativo.net/ipb/index.php?showtopic=8585" target="_blank">http://www.forocreativo.net/ipb/index.php?showtopic=8585</a> ---- . Desde ya, muchas gracias,

    Peter
     
  17. elQuique

    elQuique Usuario activo

    peter_seattle, bienvenido al foro

    El error es que esta mal formada la consulta SQL.

    Lee las reglas del foro, no contestamos por email, no tendría sentido el foro, si buscas consultoria podemos pasar presupuesto :p
     
  18. elQuique...gracias por toda la info suministrada en los tutoriales

    He seguido al pie de la letra el "Tutorial Web de Bienes Raices o Inmobiliarias PHP y MySQL" y hasta ahora ha ido todo perfecto. La pregunta ahora es, ya que lo busqué en los foros pero no me queda del todo claro, cómo linkear desde cada registro (propiedad) del listado, a la ficha (detalle completo de cada propiedad) y cómo agregar fotos en la misma.

    Perdón por la ignorancia...
    Ojalá puedas ayudarme...
    Gracias.
     
  19. Fede

    Fede Guest

    Hola Quique. Gracias de nuevo por todo. ¿Podrías revisarme esto?
    <tr>
    <td><?php echo $registro[‘idprovincias’]; ?> </td>
    <td><?php echo $registro[‘provincia’]; ?></td>
    </tr>
    No me funciona. Ya he comprobado que los nombres están igual que en la tabla. lo que si me funciona es si dejo <1> y <Madrid>.
    Gracias por adelantado
    Podrías decirme en que tema puedo aprender para hacer cálculos con cajas de texto en dreamwever.
     
  20. Fede

    Fede Guest

    Hola Quique, de nuevo. Ya he solucionado lo anterior, eran las comillas.
    Gracias
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·