Estoy realizando un cuestionario para 5 personas en una solo pantalla (columna 1 pregunta, col.2 individuo 1, col.3 indiv.2....... col.6 indiv. 5) , en ese cuestionario, quiero guardar en un arreglo las respuestas de la pregunta 1 que corresponden a los 5 personajes por medio de un select, es decir:
$p1 debe almacenar Array (
- => Si [1] => No [2] => talvez [3] => No [4] => Si )
y despues a cada respuesta asignarle un valor numerico en otro arreglo
$c1 debe almacenar Array (
- => 2 [1] => 0 [2] => 1 [3] => 0 [4] => 2 )
asi mismo, la pregunta 2 es dicotomica por lo que se usa un checkbox para responder donde marca=1 sin marcar= 0 de tal forma que para la pregunta 2 quede
Array (
- => 1 [1] => 0 [2] => 1 [3] => 1 [4] => 0 )
mis problemas son 3:
* el primero es que no puedo lograr cambiar los valores del arreglo de la pregunta 1 a valores numericos
* el segundo es que no puedo asignar el valor del checkbox sin marcar a 0, es decir, solo me cuenta los marcados como 1, por ende, en el ejemplo anterior, me da como resultado:
Array (
- => 1 [1] => 1 [2] => 1 )
El conservarlas respuestas es porque supongamos que sean 20 preguntas obligatorias para los 5 individuos (100 respuestas) y se equivocan en la 15 del individuo 4 (no la responde) y el sistema al indicar que todas son obligatorias y que le faltan, no me gustaria que todo se borrasen y empezara de nuevo.
Se que para ustedes es un problema sencillo, pero a mi los arrays se me complican un poco, les anexo el codigo que tengo y que no me sale, y si por favor, me puedan indicarme en donde me estoy equivocando.
Por su apoyo y enseñanza, gracias.
codigo:
Código
echo "<form action='' method='POST' name='res'>\n"; $dato=”abcd123”; $ciclo=”2018 / 2019 (a)”; $con="SELECT * FROM base WHERE DATOS='$dato' and CICLO='$ciclo'"; echo "<td>1.<td> Esta es una pregunta de varias opciones"; $r=0; { echo '<select name="r1[]" value="$r1[]" class="form-control" >'; { if($respc[$x] == $_POST['$r1[$r]']){$selected = ' selected';} else{$selected = '';} echo '<option value="'.$respc[$x].'"'.$selected.'>'.$respc[$x].'</option>'; } echo '</select>'; if ($r1[$r]=="Si"){$c1[$r]=2;} if ($r1[$r]=="tal vez"){$c1[$r]=1;} if ($r1[$r]=="No"){$c1[$r]=0;} if ($r1[$r]==""){$c1[$r]="x";echo "<font color=#ff0000>*";echo"<font color=#000000></td>";} $r=$r+1; } $r1=$_POST['r1']; $c1=$_POST['c1']; echo "<tr><td><b>2.</b><td colspan=7 bgcolor=$celcolor1><b> Este es un grupo de preguntas:</b>"; $r=0; echo "<tr><td>a)<td> esta es una pregunta de chekmark"; for($x = 0; $x < 5; $x++) { echo "<td align=center><input name='r2a[]' value=1 type='checkbox' class='form-control' title='Al seleccionar la casilla esta respondiendo que SI, de lo contrario esta respondiendo que NO'> </td>"; $r=$r+1; } $r2a=$_POST['r2a']; //botones de registro echo " <td><input type='submit' name='botonenv' value='Continuar a la parte 4' title='Continuar a la siguiente etapa'>"; if (@$_POST['botonenv']=='Continuar a la siguiente etapa'') { //aquí va a grabar las respuestas xxxxxxxxxxxxxxx //esto lo puse para saber si me esta creando los arrays echo "<br> r1"; print_r($r1); echo "<br> c1"; print_r($c1); echo "<br> r2a"; print_r($r2a); echo "<br> c2a"; print_r($c2a); echo "<br>"; } echo "</form>”;