Hola, bueno tengo esta sección del formulario del cual deseo sacar promedio:
Código PHP:
$id=1;
while ($row3 = mysql_fetch_array($result3))
{
$id++;
echo '<TR height="150"><TD><P>' . $row3['Numero'] . '.-' . $row3['Pregunta'] . '</P></TD>';
echo '<td><P><INPUT type="radio" name="op'.$id.'" value="1"> 1. ' . $row3['Opcion1'] . '</P><P><INPUT type="radio" name="op'.$id.'" value="2"> 2. ' . $row3['Opcion2'] . '</P><P><INPUT type="radio" name="op'.$id.'" value="3"> 3. ' . $row3['Opcion3'] . '</P><P><INPUT type="radio" name="op'.$id.'" value="4"> 4. ' . $row3['Opcion4'] . '</P></td></tr>';
}
Las preguntas las saco de mi base de datos, lo que hace es que cada pregunta tiene 4 opciones, y pues a cada vuelta, op
n va incrementando su valor en n, así a cada vuelta tendré el name de op distinto para cada grupo de 4 opciones por pregunta. Hasta ahí todo funciona, el problema es en el archivo donde se saca la calificación:
Código PHP:
include "bdconection.php"; //aqui mando llamar a la base de datos, aqui todo bien
$link = conectarse();
$idExamen = $_POST['idExamen'];//se postea de el formulario anterior
$id = $_POST['id'];
$suma = 0;
for($i = 1; $i == $id; $i++) //id es el número de preguntas
{
if ($_POST['op'.$i] != 0 ) //pregunta si la opción trae valor, si está en blanco va a la sigueinte pregunta sin incrementar $suma
{
$sql = "SELECT * FROM preguntas WHERE idExamen = '$idExamen' AND Numero = '$i'";//de la tabla preguntas, seleccionara donde sea el idExamen y donde el campo Numero sea igual a el numero de pregunta que esta revisando
$result = mysql_query($sql) or die ("La siguiente consulta contiene algún error:<br>nSQL: <b>$sql</b>");
$row = mysql_fetch_array($result);
if ($row['Respuesta'] == $_POST['op'.$i])//si lo que arrojo de respuesta (que esta guardado en un campo) es igual a el valor de op, va a incrementar suma, ya que la respuesta es correcta, si no no lo cuenta
{
$suma += 1;
}
}
}
echo(($suma*100)/$id);
Eso ultimo no me corre, siempre imprime "0" o sea que no esta revisando ninguna pregunta, que podría ser?
P.D. Siempre me imprimirá "0" aunque intente revisar el examen con las respuestas correctas de acuerdo a mi tabla mysql