Es un poco difícil leer el código así... te recomiendo para empezar usar nombres de variables algo más descriptivos.
Copié tu código tal cual está y me da un error en la línea
Nada grave, podrías ocultarlo usando @ (Aunque no te lo recomiendo).
Para hacerlo funcionar tuve que hacerle algunas modificaciones, la versión ejecutable es:
Y ahí sí me da la salida que dices:
El problema es que todos los select tienen el mismo nombre... si ves el código HTML generado verás esto:
Esto sucede por las comillas (simples) que usas para generar el nombre (y el value) del select.
Me falta algo de info para darte una versión completamente funcional, pero creo que con esto tendrás una base para avanzar:
Copié tu código tal cual está y me da un error en la línea
Código [Seleccionar]
if($respb[$x1a] == $_POST['p2ap[$x1a]']){$selected = ' selected';}
Nada grave, podrías ocultarlo usando @ (Aunque no te lo recomiendo).
Para hacerlo funcionar tuve que hacerle algunas modificaciones, la versión ejecutable es:
Código [Seleccionar]
<?php
$respb=array('Siempre','Casi siempre','Casi nunca','Nunca','');
$regcue=7; //este varia segun un select de una bd
@$p2ap1=array();
?>
<form method="post">
<?php
for($x1 = 0; $x1 < $regcue; $x1++)
{
echo '<td><select name="p2ap[$x1]" value="$p2ap[$x1]" class="form-control" >';
for($x1a = 0; $x1a < count($respb); $x1a++)
{
echo '<option value="'.$respb[$x1a].'"'.( array_key_exists( 'p2ap[$x1a]', $_POST ) && $respb[$x1a] == $_POST['p2ap[$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'/>";
?>
</form>
<?php
if (@$_POST['botonenv']=='Continuar a la parte 3')
{
print_r($p2ap1);
}
Y ahí sí me da la salida que dices:
Código [Seleccionar]
Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => )
El problema es que todos los select tienen el mismo nombre... si ves el código HTML generado verás esto:
Código [Seleccionar]
<select name="p2ap[$x1]" value="$p2ap[$x1]" class="form-control" ><option value="Siempre">Siempre</option><option value="Casi siempre">Casi siempre</option><option value="Casi nunca">Casi nunca</option><option value="Nunca">Nunca</option><option value=""></option></select><td><select name="p2ap[$x1]" value="$p2ap[$x1]" class="form-control" ><option value="Siempre">Siempre</option><option value="Casi siempre">Casi siempre</option><option value="Casi nunca">Casi nunca</option><option value="Nunca">Nunca</option><option value=""></option></select><td><select name="p2ap[$x1]" value="$p2ap[$x1]" class="form-control" ><option value="Siempre">Siempre</option><option value="Casi siempre">Casi siempre</option><option value="Casi nunca">Casi nunca</option><option value="Nunca">Nunca</option><option value=""></option></select><td><select name="p2ap[$x1]" value="$p2ap[$x1]" class="form-control" ><option value="Siempre">Siempre</option><option value="Casi siempre">Casi siempre</option><option value="Casi nunca">Casi nunca</option><option value="Nunca">Nunca</option><option value=""></option></select><td><select name="p2ap[$x1]" value="$p2ap[$x1]" class="form-control" ><option value="Siempre">Siempre</option><option value="Casi siempre">Casi siempre</option><option value="Casi nunca">Casi nunca</option><option value="Nunca">Nunca</option><option value=""></option></select><td><select name="p2ap[$x1]" value="$p2ap[$x1]" class="form-control" ><option value="Siempre">Siempre</option><option value="Casi siempre">Casi siempre</option><option value="Casi nunca">Casi nunca</option><option value="Nunca">Nunca</option><option value=""></option></select><td><select name="p2ap[$x1]" value="$p2ap[$x1]" class="form-control" ><option value="Siempre">Siempre</option><option value="Casi siempre">Casi siempre</option><option value="Casi nunca">Casi nunca</option><option value="Nunca">Nunca</option><option value=""></option></select>
Esto sucede por las comillas (simples) que usas para generar el nombre (y el value) del select.
Me falta algo de info para darte una versión completamente funcional, pero creo que con esto tendrás una base para avanzar:
Código [Seleccionar]
<?php
$respb=array('Siempre','Casi siempre','Casi nunca','Nunca','');
$regcue=7; //este varia segun un select de una bd
@$p2ap1=array();
?>
<form method="post">
<?php
for($x1 = 0; $x1 < $regcue; $x1++)
{
echo '<td><select name="p2ap['.$x1.']" value="'.$p2ap[$x1].'" class="form-control" >';
for($x1a = 0; $x1a < count($respb); $x1a++)
{
echo '<option value="'.$respb[$x1a].'"'.( array_key_exists( 'p2ap['.$x1.']', $_POST ) && $respb[$x1a] == $_POST['p2ap['.$x1.']'] ? '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'/>";
?>
</form>
<?php
if (@$_POST['botonenv']=='Continuar a la parte 3')
{
print_r($p2ap1);
}