Foros del Web » Programando para Internet » PHP »

CodeIgniter duda con select

Estas en el tema de duda con select en el foro de PHP en Foros del Web. amigos una consulta.. tengo un select donde muestro sucursales de la siguiente forma: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <b class="filtro"> Sucursal:</b>       ...
  #1 (permalink)  
Antiguo 09/02/2016, 07:32
 
Fecha de Ingreso: abril-2015
Mensajes: 96
Antigüedad: 9 años
Puntos: 1
duda con select

amigos una consulta.. tengo un select donde muestro sucursales de la siguiente forma:

Código PHP:
Ver original
  1. <b class="filtro"> Sucursal:</b>
  2.       <select name="Sucursal" class="form-control"  id="Sucursal">
  3.  
  4.            <option value="">Todas</option>
  5.        
  6.                 <?php
  7.   foreach($results->result() as $datos){
  8. ?>  
  9.      
  10.      <?php if($this->session->userdata('nombre_usuario') == $datos->Usuario ) { ?>
  11.  
  12.        
  13.         <option value="<?php echo $datos->Sucursal ?>" <?php if($_POST['Sucursal']==$datos->Sucursal ) echo 'selected="selected" ';?> ><?php echo $datos->Sucursal ?></option>
  14.  
  15.        
  16.  
  17.       <?php } ?>
  18.  
  19. <?php } ?>
  20.        
  21.       </select>

al seleccionar la sucursal, me trae la informacion respectiva a esa sucursal. pero al seleccionar todas.. me muestra todas las sucursales de la bd, como lo puedo hacer para que al seleccionar todas me muestre solo lo que corresponde a esa sucursal?
  #2 (permalink)  
Antiguo 09/02/2016, 07:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: duda con select

Cita:
como lo puedo hacer para que al seleccionar todas me muestre solo lo que corresponde a esa sucursal?
Ciertamente eso no se hace modificando el select.

Habrá algún código que se encarga de tomar estos valores, construir la consulta y devolver los resultados: ahí está el problema.

Si no muestras ese código nadie podrá adivinar de qué se trata.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/02/2016, 08:17
 
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>
  #4 (permalink)  
Antiguo 09/02/2016, 10:51
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 10 años, 10 meses
Puntos: 25
Respuesta: duda con select

podrias explicar un poco, mostrando un ejemplo de lo que sería el resultado que deseas obtener.

y explicando un poco la estructura del a base de datos.

tambien es importante que nos digas que versión de codeigniter estas usando.
  #5 (permalink)  
Antiguo 09/02/2016, 15:19
 
Fecha de Ingreso: abril-2015
Mensajes: 96
Antigüedad: 9 años
Puntos: 1
Respuesta: duda con select

estoy usando la version de codeigniter que estoy usando es la 2.2.1..

y lo que hace el codigo que mostres..

es que tengo un select con varias sucursales ..
ejemplo :

tengo sucursales asignadas a usuarios

Usuario Sucursal
---------- -----------
esoto Chile
esoto Mexico
esoto Brazil
jperez Colombia
jperez Argentina
jperez Peru


entonces en mi vista tengo un select segun el usuario que ingrese.. supongamos que inicie sesion con esoto
Código HTML:
Ver original
  1.  <option>Todas</option>
  2.  <option>Chile</option>
  3.  <option>Mexico</option>
  4.  <option>Brazil</option>

si yo selecciono chile me trae la siguiente informacion, o cualquier tipo de sucursal.

Nombre Sucursal
--------- ------------
juan Chile
Pedro Chile
Diego Chile


pero si selecciono " Todas ".

Nombre Sucursal
---------- ----------
Javier Brazil
Jaime Mexico
Pedro Chile
Fernando Argentina
Radamel Colombia

como se puede ver en mi ejempo, me trae todas las sucursales.. y yo necesito que me muestre "todas" las sucursales del usuario.

Última edición por esoto; 09/02/2016 a las 15:28

Etiquetas: codeigniter, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:06.