Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/05/2019, 11:59
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: Filtrar los resultados de una busqueda utilizando varios criterios

Cita:
Iniciado por pedromir Ver Mensaje
El de tuadmin, efectivamente yo había hecho algo mal con el código y una vez resuelto el problemilla hace la búsqueda perfectamente, pero no busca en el campo correspondiente al input del que recibe los datos, entonces si tu escribes informática en el input nombre, te lo encuentra porque busca la palabra en todo el array, necesitaría incluir algo asi, que es la búsqueda que yo utilizo para buscar por un campo sólo y el código de vb2005 también funciona bien, pero lógicamente tiene el mismo problema
Código PHP:
Ver original
  1. foreach($listado as $valor) {
  2.                
  3.                 if (!empty($_GET['nombre'])) {                             
  4.                                            
  5.                     $cadena = $valor[0];       
  6.                                                                                                
  7.                 }
  8.                 elseif (!empty($_GET['curso']) ) {                                 
  9.                                            
  10.                     $cadena = $valor[1];
  11.                                                                                                
  12.                 }
bueno si el ejemploq ue psue primero era para que te des una idea, de como hacer la busqueda y filtrado,

si quieres que sea por columna, seria algo asi

Código PHP:
Ver original
  1. <?php
  2. $_GET['localidad']='drid'; //ejecutamos test
  3. $listado = array(  
  4.     array('Ana', 'Pelaez', 'Informatica', 'Madrid'),
  5.     array('Ana', 'Garcia', 'Contabilidad', 'Sevilla'),
  6.     array('Ana', 'Lopez', 'Contabilidad', 'Madrid'),
  7.  );
  8.  
  9. $filtros = array(
  10.     @$_GET['nombre'], //el campo nombre,
  11.     @$_GET['nombre'], //el campo de apellido
  12.     @$_GET['curso'], //el campo de curso
  13.     @$_GET['localidad']//el campo de localidad
  14.  );
  15.  
  16. $coincidencias=array();
  17. foreach($listado AS $index=>$row){
  18.      foreach($row AS $i =>$columna){
  19.         if(!isset($coincidencias[$index])
  20.             && isset($filtros[$i]) //verificamos que exista el filtro
  21.                && $filtros[$i]          //verificamos que el filtro no sea vacio  
  22.             && stripos( $columna,$filtros[$i] )!==false )
  23.         {
  24.             $coincidencias[$index]=$row;    break;
  25.         }          
  26.      }
  27. }
  28.  
  29. echo "se encontraron los siguientes resultados";
  30.  
  31. var_dump($coincidencias);
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9