Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/02/2014, 14:10
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 7 meses
Puntos: 320
Respuesta: Filtro de busqueda

Lo que estas buscando se llama WHERE Clause el buscador no es mas que un simple formulario (tan adornado como te guste) que envia parametros a un script php que los recibe, valida, mete en un sql en la clausula where la ejecuta y retorna los resultados.

Piensa esto, si el tipo te dijera: "Quiero un listado de todas la propiedades, sin buscador, que liste todo lo que tengo" ¿Tendrias algun problema en hacerlo? Si la respuesta es si, aun no estas a la altura de desarrollar una web de este tipo, te falta mucho por estudiar (o quizas no tanto ) . Si la respuesta es no, entonces implementar un buscador no tendra ninguna dificultad para ti.

Imaginemos que tu tabla de propiedades tiene estos campos:

nombre
tipo: (1=alquiler, 2=venta)
canton:(id_canton)
precio

y ademas tienes las otras dos:
cantones:
id_canton
id_provincia
descripcion

provincias:
id_provincia
descripcion

y quieres hacer el mismo filtro que tienes en esa web:

Código PHP:
Ver original
  1. $sql = 'SELECT propiedades.nombre FROM propiedades p INNER JOIN cantones c ON p.id_canton=c.id_canton INNER JOIN provincias pr ON pr.id_provincia=c.id_provincia WHERE 1 '.($_POST['tipo'] ? ' AND p .tipo ='.$_POST['tipo'] : '').($_POST['canton'] ? 'AND p .id_canton ='.$_POST['canton'] : ($_POST['provincia'] ? 'AND c id_provincia ='.$_POST['provncia'] : '')).($_POST['precio_desde'] ? 'AND p .precio >='.$_POST['precio_desde'] : '').($_POST['precio_hasta'] ? 'AND p precio ='.$_POST['precio_hasta'] : '');

Seria algo masomenos asi, lo resuelve todo mysql, con php unicamente debes validar los parametros.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios