FAVOR LEER BIEN TODO EL MENSAJE ANTES DE RESPONDER
Estoy haciendo una encuesta que tiene 52 preguntas. A dichas preguntas se les puede responder SI o NO. Luego que el usuario las responde un script PHP procesa la encuesta y genera resultados. Pero... (nunca puede faltar un pero), no es tan fácil como parece. La encuesta está organizada por grupos de preguntas; por ejemplo de la 1 a la 5 es el grupo OBSERVACION; de la 6 a la 11 es el grupo COMPARACION ... y asi varios grupos.
Los resultados se muestran en base a los SI respondidos. Pero, los SI son inclusivos jerárquicamente, esto quiere decir que en el grupo OBSERVACION no puedo responder SI a la pregunta 1 y 4 y colocar NO en la 2 y 3. Por lo tanto, si eso llegara a ocurrir, el sistema toma únicamente el primer SI. Veamos el código:
Código PHP:
$i=1;
while(($i<=5) && ($_POST[$i] == "si")){
$observacion++;
$i++;
}
$i=6;
while(($i<=10) && ($_POST[$i] == "si")){
$comparacion++;
$i++;
}
$i=11;
while(($i<=16) && ($_POST[$i] == "si")){
$relacion++;
$i++;
}
$i=17;
while(($i<=23) && ($_POST[$i] == "si")){
$clasificacion++;
$i++;
}
$i=24;
while(($i<=28) && ($_POST[$i] == "si")){
$ordenamiento++;
$i++;
}
$i=29;
while(($i<=33) && ($_POST[$i] == "si")){
$jerarquica++;
$i++;
}
$i=34;
while(($i<=37) && ($_POST[$i] == "si")){
$analisis++;
$i++;
}
$i=38;
while(($i<=41) && ($_POST[$i] == "si")){
$sintesis++;
$i++;
}
$i=42;
while(($i<=47) && ($_POST[$i] == "si")){
$evaluacion++;
$i++;
}
$i=48;
while(($i<=48) && ($_POST[$i] == "si")){
$tconciencia++;
$i++;
}
$i=49;
while(($i<=52) && ($_POST[$i] == "si")){
$evaluacionmet++;
$i++;
}
Luego realizaré la otra parte del script que dependiendo de la cantidad de "SI's" consecutivos que hayan por intérvalo entonces se dará una respuesta determinada.
Mi pregunta es: ¿Hay alguna forma de hacer ese código más simple y compacto?. Señores, me he dado duro en la cabeza pero no puedo compactarlo más. Si alguno tiene alguna idea, pues será bien recibida.
Muchas gracias y saludos!