PHP - arrays en select multiple

 
Vista:
sin imagen de perfil

arrays en select multiple

Publicado por roman villarreal (4 intervenciones) el 22/03/2019 01:38:36
Hola especialistas y expertos del tema, gracias de antemano por su siempre útil ayuda, hoy traigo un tema que no he podido resolver y espero me puedan ayudar porque no encuentro en que me estoy equivocando.
Tengo una serie de n selects determinados por la variable $regcue, el formulario detecta y muestra los 7 selects y permite la selección de sus opciones, de esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@$p2ap=$_POST['p2ap'];
@$p2ap1=array();
 
//despues de una busqueda en una base de datos se determina que:
 
$regcue=7;
 
$respb=array('Siempre','Casi siempre','Casi nunca','Nunca','');
for($x1 = 0; $x1 < $regcue; $x1++)
{
      echo '<td><select name="p2ap[$x1]" value="$p2ap[$x1]">';
      for($x1a = 0; $x1a < count($respb); $x1a++)
      {
            if($respb[$x1a] == $_POST['p2ap[$x1a]']){$selected = ' selected';}
            else{$selected = '';}
            echo '<option value="'.$respb[$x1a].'"'.$selected.'>'.$respb[$x1a].'</option>';
      }
      echo '</select>';
     @$p2v=$p2ap['$x1'];
      array_push($p2ap1,$p2v);
 }
echo " <td><input type='submit' name='botonenv' value='Continuar a la parte 3' >";
if (@$_POST['botonenv']=='Continuar a la parte 3') {print_r($p2ap1);}

Al presionar el submit el problema es que no me esta tomando los valores de los selects del arreglo y solo retiene el valor del ultimo select (en este caso "Nunca") y obtengo como resultado:

Array ( [0] => Nunca [1] => Nunca [2] => Nunca [3] => Nunca [4] => Nunca [5] => Nunca [6] => Nunca )

el resultado se repite en todo el arreglo con el valor del ultimo select aun cuando los 6 anteriores son de valores distintos

podrian ayudarme a saber en donde me estoy equivocando?????

por su gran ayuda como siempre, Gracias. y reciban un cordial saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de santi
Val: 588
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

arrays en select multiple

Publicado por santi (204 intervenciones) el 23/03/2019 00:43:07
Hola,

no lo he probado pero un selector por defecto solo puede seleccionar una opción. Si quieres que el usuario tenga múltiples opciones en un select, creo que deberías añadir el atributo "multiple", de esta forma das a entender que hay mas de una opción:

1
2
3
4
5
6
<select multiple name="selector">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

Y en php lo recibes como un array:

$opciones = $_POST['selector'];//Y haciendo un "foreach" puedes dividir las opciones que ha seleccionado el usuario.

Si no es el caso, trata de añadir algo más de contenido de tu script y miramos de solucionarlo ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar