[ Foro de PHP ]

arrays con select multiple

22-Mar-2019 01:56
roman villarreal
1 Respuestas

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:

@$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


26-Mar-2019 22:58
Nacho Cabanes (+40)

Lo ideal sería un fragmento ligeramente más completo, autocontenido, que se pudiera probar, pero en ese código faltan detalles, porque hay datos que se reciben por POST y hay un formulario que no se llega a ver. Puedes convertir eso a un único formulario que se llame a sí mismo.

Aun así, como primera aproximación, ¿qué ves en el código fuente del navegador (HTML) al lanzar ese PHP?






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...