Ver Mensaje Individual
  #14 (permalink)  
Antiguo 06/05/2013, 22:29
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Busqueda por varios campos no muestra resultados

Pues como vas a buscar por los 3 campos si en cada opción generas un SQL por separado, peor aun, sobre escribes la variable $sql, por lo cual los valores anteriores se pierden, en todo caso deberías primero comprobar en cuantos campos se van a buscar y de hay generar el SQL...

Código PHP:
Ver original
  1. <?php
  2. $sql = 'SELECT * FROM mi tabla WHERE ';
  3. $filtroAgregado = false;
  4. if (isset($_POST['campo1'])) {
  5.      $sql .= ' campo1 = "'.$_POST['campo1'].'" ';
  6.      $filtroAgregado = true;
  7. }
  8.  
  9. if (isset($_POST['campo2'])) {
  10.      $sql .= $filtroAgregado ? ' OR ' : '';
  11.      $sql .= ' campo2 LIKE "%'.$_POST['campo2'].'%" ';
  12.      $filtroAgregado = true;
  13. }
  14.  
  15. if (isset($_POST['campo3'])) {
  16.      $sql .= $filtroAgregado ? ' OR ' : '';
  17.      $sql .= ' campo3 = "'.$_POST['campo3'].'" ';
  18.      $filtroAgregado = true;
  19. }
  20.  
  21. echo $sql;

PD se me olvido comprobar si se agrego ya un filtro, es algo rustico y nada limpio, pero es solo para dar una idea
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)