Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Select Multiple y array

Estas en el tema de Select Multiple y array en el foro de PHP en Foros del Web. Buenas tardes, tengo un problemilla que no consigo solucionar! Tengo un formulario de búsqueda con una serie de SELECT MULTIPLE y de cada uno se ...
  #1 (permalink)  
Antiguo 09/05/2013, 06:10
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años
Puntos: 3
Select Multiple y array

Buenas tardes,

tengo un problemilla que no consigo solucionar! Tengo un formulario de búsqueda con una serie de SELECT MULTIPLE y de cada uno se pueden seleccionar varios elementos. Una vez seleccionados, se realiza una consulta a la BD y nos muestra una tabla con la búsqueda.
En la pantalla donde se muestran los datos, de forma oculta pongo los SELECT MULTIPLE unicamente con los valores recogidos anteriormente, sin embargo cuando quiero realizar la exportación a excel unicamente coge uno de los valores de cada SELECT (el último). Os muestro el código:
Aquí se muestran los datos que ya han sido recogidos previamente:
Código PHP:
<select  type="" multiple="multiple" name="grupos">
<?php    
for ($i 0$i <= (count($gruposs) - 1); $i++) {
?>
   <option selected value="<?php print $gruposs[$i]; ?>"> <?php print $gruposs[$i]; ?></option>

<?php  ?> 
</select>
<?php ?>
Es correcto, y muestra esto. Como vemos están ambos seleccionados por defecto
Código HTML:
<select  multiple="multiple" name="grupos">
   <option selected value="GRDR"> GRDR</option>

   <option selected value="IO_DSLAM"> IO_DSLAM</option>

 
</select> 
y este es el trocito de php que debería recoger ambos valores en un array, pero solo recoge uno:

Código PHP:
if (isset($_POST["grupos"])){
    
    
$gruposs[]=$_POST["grupos"];
    
    
print_r($gruposs);
    
    if (
count($gruposs)==1){
    for (
$i=0;$i<1;$i++){
        
$query.= " AND (trabajos.grupo = '$gruposs[$i]') ";
    }
    }
    else{
    for (
$i=0;$i<1;$i++){
        
$query.= " AND (trabajos.grupo = '$gruposs[$i]' ";
    }

    for (
$i=1;$i<count($gruposs);$i++){
        
$query.= " OR trabajos.grupo = '$gruposs[$i]' ";
    }
    
$query.= ")";
    }

Muchas gracias por adelantado por vuestro tiempo!
  #2 (permalink)  
Antiguo 09/05/2013, 09:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Select Multiple y array

Todo elemento que sea múltiple precisa que el name lleve la notación tipo array, de otra forma siempre vas a capturar únicamente un valor.

Código HTML:
<select multiple name="foo[]">...</select> 
¿Se entiende?

Es básico en el manejo de formularios, nada que ver con PHP, deberías estudiar más de HTML.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/05/2013, 09:56
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años
Puntos: 3
Respuesta: Select Multiple y array

Gracias compañero!
Se entiende perfectamente! de hecho ha sido un problema más de falta de atención que otra cosa!
Muchas gracias por tu tiempo
  #4 (permalink)  
Antiguo 09/05/2013, 11:21
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Select Multiple y array

Marca como solucionado el tema por favor!!!!!!!!

Etiquetas: formulario, select, tabla
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 12:21.