Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/02/2016, 08:17
esoto
 
Fecha de Ingreso: abril-2015
Mensajes: 96
Antigüedad: 9 años
Puntos: 1
Respuesta: duda con select

claro...

constructor.
Código PHP:
Ver original
  1. public function FesSearch()
  2.   {
  3.      
  4.     if($this->input->get('buscar'))
  5.     {
  6.      
  7.      
  8.          
  9.       //los campos del formulario deben tener el mismo nombre
  10.       //que los de la base de datos a buscar, esto luego lo
  11.       //recorremos para comprobar como vienen      
  12.       $campos = array('estado', 'MES','Rut','Sucursal');      
  13.       //envíamos los datos al modelo para hacer la búsqueda
  14.       $resultados = $this->buscador_model->fes_busqueda($campos);
  15.      
  16.       if($resultados !== FALSE)
  17.       {
  18.        
  19.         return $resultados;
  20.        
  21.       }
  22.      
  23.     }
  24.    
  25.   }

Modelo
Código PHP:
Ver original
  1. public function fes_busqueda($campos)
  2.     {
  3.        
  4.         //definimos si descripción viene vacio o no para utilizar el operador and or
  5.         $and_or = $this->input->get('rut') != '' ? ' AND ' : ' OR ';
  6.  
  7.            
  8.         $condiciones = array();
  9.        
  10.         //recorremos los campos del formulario
  11.         foreach($campos as $campo){
  12.            
  13.             //si llegan las variables y no están vacias
  14.             if($this->input->get($campo) && $this->input->get($campo) != '')
  15.             {
  16.                
  17.                 //definimos la condición para hacer la búsqueda de los campos y de
  18.                 //esta forma podemos hacer uso del array condiciones fuera del loop
  19.                 $condiciones[] = "$campo LIKE '%" . $this->input->get($campo) . "%'";
  20.                
  21.             }
  22.            
  23.         }
  24.            
  25.         //la consulta base a la que concatenaremos la búsqueda
  26.         $sql = "SELECT * FROM deta_prejud_fes ";
  27.        
  28.         //si existen condiciones entramos
  29.         if(count($condiciones) > 0)
  30.         {
  31.            
  32.             //aquí creamos la condición y la concatenamos a $query
  33.             $sql .= "WHERE " . implode ($and_or, $condiciones);
  34.             $sql .= "order by Fecha asc" ;
  35.            
  36.            
  37.         }
  38.  
  39.         //asignamos a $query la consulta final
  40.         $query = $this->db->query($sql);
  41.        
  42.         //con la siguiente línea podéis ver lo que arroja la
  43.         //consulta escogiendo varios campos, es bueno entenderlo
  44.         //var_dump($sql); exit;
  45.        
  46.         //si se ha encontrado algo
  47.         if($query->num_rows() > 0)
  48.         {
  49.                
  50.             return $query->result();
  51.                
  52.         }else{
  53.            
  54.             return FALSE;
  55.            
  56.         }
  57.        
  58.     }


Vista

Código PHP:
Ver original
  1. <form action="<?= base_url() . 'prejudicial/historial' ?>" method="GET" accept-charset="utf-8" class="form-horizontal" name="form" id="form">
  2.    
  3.        <div class="form-inline">
  4.       <p>
  5.  
  6.        <b class="filtro"> Sucursal:</b>
  7.       <select name="Sucursal" class="form-control"  id="Sucursal">
  8.  
  9.            <option value="">Todas</option>
  10.        
  11.                 <?php
  12.   foreach($results->result() as $datos){
  13. ?>  
  14.      
  15.      <?php if($this->session->userdata('nombre_usuario') == $datos->Usuario ) { ?>
  16.  
  17.  
  18.         <option value="<?php echo $datos->Sucursal ?>" <?php if($_POST['Sucursal']==$datos->Sucursal ) echo 'selected="selected" ';?> ><?php echo $datos->Sucursal ?></option>
  19.  
  20.        
  21.  
  22.       <?php } ?>
  23.  
  24. <?php } ?>
  25.        
  26.       </select>
  27.      
  28.    
  29.  
  30.  
  31.        
  32.      <b> MES:</b>
  33.       <select name="MES" class="form-control" id="select">
  34.        
  35.         <option value="">Todas</option>
  36.         <option value="ENERO"  <?php if($_POST['MES']=='ENERO' ) echo 'selected="selected" ';?> >ENERO</option>
  37.         <option value="FEBRERO"  <?php if($_POST['MES']=='FEBRERO' ) echo 'selected="selected" ';?> >FEBRERO</option>
  38.         <option value="MARZO"  <?php if($_POST['MES']=='MARZO' ) echo 'selected="selected" ';?> >MARZO</option>
  39.         <option value="ABRIL"  <?php if($_POST['MES']=='ABRIL' ) echo 'selected="selected" ';?> >ABRIL</option>
  40.         <option value="MAYO"  <?php if($_POST['MES']=='MAYO' ) echo 'selected="selected" ';?> >MAYO</option>
  41.         <option value="JUNIO"  <?php if($_POST['MES']=='JUNIO' ) echo 'selected="selected" ';?> >JUNIO</option>
  42.         <option value="JULIO"  <?php if($_POST['MES']=='JULIO' ) echo 'selected="selected" ';?> >JULIO</option>
  43.         <option value="AGOSTO"  <?php if($_POST['MES']=='AGOSTO' ) echo 'selected="selected" ';?> >AGOSTO</option>
  44.         <option value="SEPTIEMBRE"  <?php if($_POST['MES']=='SEPTIEMBRE' ) echo 'selected="selected" ';?> >SEPTIEMBRE</option>
  45.         <option value="OCTUBRE"  <?php if($_POST['MES']=='OCTUBRE' ) echo 'selected="selected" ';?> >OCTUBRE</option>
  46.         <option value="NOVIEMBRE"  <?php if($_POST['MES']=='NOVIEMBRE' ) echo 'selected="selected" ';?> >NOVIEMBRE</option>      
  47.         <option value="DICIEMBRE"  <?php if($_POST['MES']=='DICIEMBRE' ) echo 'selected="selected" ';?> >DICIEMBRE</option>
  48.        
  49.        
  50.      
  51.       </select>
  52.  
  53.      
  54.      
  55.       &nbsp&nbsp&nbsp
  56.       <b>Buscar Rut: </b>      
  57.      
  58.       <input type="text"   name="Rut" id="Rut" class="form-control" placeholder="ej:5046454" />&nbsp&nbsp<b>ej:5046454 (Sin digito verificador)</b>
  59.  
  60.       </div>