Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/03/2011, 15:49
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: buscador que filtre busqueda con listas desplegables

Sin ver tu codigo completo y, en base a como tienes los valores de cada option, supongo que el proceso se inicia mediante javascript, tal vez con onchange o con onsubmit.

Lo mas facil seria que el formulario sea con metodo GET, donde cada campo se agregue en la url:

Código HTML:
Ver original
  1. <form method="get" action="busqueda_filtro.php">
  2. <select name="campo1">
  3.     <option value="0">Selecciona...</option>
  4.     <option value="1">Valor 1</option>
  5. <select name="campo2">
  6.     <option value="0">Selecciona...</option>
  7.     <option value="1">Valor 1</option>
  8. <select name="campo3">
  9.     <option value="0">Selecciona...</option>
  10.     <option value="1">Valor 1</option>
  11. <input type="submit" value="Buscar" />
  12. </form>

De esta forma, recibiras los tres campos:
busqueda_filtro.php?campo1=#;campo2=#;campo3=#

Y todo lo que debes hacer es analizar cada valor para ver que sea correcto y, en ese caso, agregarlo al filtro en la busqueda:

Código PHP:
Ver original
  1. $filtros = array();
  2. if($campo1 != 0) {
  3.     // Supongo que deberas verificar que el valor recibido es correcto y
  4.     // corresponde a un registro en tu base de datos
  5.     $filtros[] = "campo1 = $campo1";
  6. }
  7.  
  8. // Despues de agregar cada campo, complementas tu consulta:
  9. if(count($filtros) > 0) {
  10.     $filtro = ' WHERE ' . implode(' AND ', $filtros);
  11. } else {
  12.     $filtro = '';
  13. }
  14. $consulta = "SELECT * FROM tabla $filtro";
__________________
- León, Guanajuato
- GV-Foto