Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/08/2009, 14:03
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Busqueda con Multiples Select.

Necesitarias crear varias condiciones y si estan agregarlas en la consulta. Algo así

Código PHP:
Ver original
  1. <?php
  2. $pagina = (!empty($_POST["pagina"])
  3.     ? " pagina=".$_POST["pagina"]
  4.     : "");
  5.  
  6. $modelo = (!empty($_POST["modelo"])
  7.     ? (!empty($pagina)
  8.         ? " AND modelo=".$_POST["modelo"]
  9.         : " modelo=".$_POST["modelo"])
  10.     : "");
  11.  
  12. $bus = (!empty($_POST["bus"])
  13.     ? (!empty($pagina) || !empty($modelo)
  14.         ? " AND bus=".$_POST["bus"]
  15.         : " bus=".$_POST["bus"])
  16.     : "");
  17.  
  18. $fabricante = (!empty($_POST["fabricante"])
  19.     ? (!empty($pagina) || !empty($modelo) || !empty($bus)
  20.         ? " AND fabricante=".$_POST["fabricante"]
  21.         : " fabricante=".$_POST["fabricante"])
  22.     : "");
  23.  
  24. $cpu = (!empty($_POST["cpu"])
  25.     ? (!empty($pagina) || !empty($modelo) || !empty($bus) || !empty($fabricante)
  26.         ? " AND cpu=".$_POST["cpu"]
  27.         : " cpu=".$_POST["cpu"])
  28.     : "");
  29.  
  30. $motherboard = (!empty($_POST["motherboard"])
  31.     ? (!empty($pagina) || !empty($modelo) || !empty($bus) || !empty($fabricante) || !empty($cpu)
  32.         ? " AND motherboard=".$_POST["motherboard"]
  33.         : " motherboard=".$_POST["motherboard"])
  34.     : "");
  35.  
  36. $extras = (!empty($_POST["extras"])
  37.     ? (!empty($pagina) || !empty($modelo) || !empty($bus) || !empty($fabricante) || !empty($cpu) || !empty($motherboard)
  38.         ? " AND extras=".$_POST["extras"]
  39.         : " extras=".$_POST["extras"])
  40.     : "");
  41.  
  42. $s = "SELECT * FROM tabla WHERE "
  43.     . $pagina
  44.     . $modelo
  45.     . $bus
  46.     . $fabricante
  47.     . $cpu
  48.     . $motherboard
  49.     . $extras;
  50. $query = mysql_query($s) or die(mysql_error());

En vez de hacerlo en ese tipo de condiciones lo puedes hacer con if y else. Pero de esa forma ahorras escribir tanto codigo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos