Foros del Web » Programando para Internet » PHP »

Problema con implode y explode

Estas en el tema de Problema con implode y explode en el foro de PHP en Foros del Web. Les explico, es un examen que genera preguntan al azar sacadas de una base de datos. Me guarda los datos de esta manera. A,B,B,C,D,C,C,C,D,D,D,A,C,B,B,A,C,A,D,B,A,C,D,A,B (son ...
  #1 (permalink)  
Antiguo 23/07/2008, 06:49
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 6 meses
Puntos: 3
Problema con implode y explode

Les explico, es un examen que genera preguntan al azar sacadas de una base de datos.

Me guarda los datos de esta manera.

A,B,B,C,D,C,C,C,D,D,D,A,C,B,B,A,C,A,D,B,A,C,D,A,B (son alternativas)

El problema que me ocurrio ayer es que es usuario dejo una pregunta sin contestar y quedo de la siguiente manera.

A,B,B,C,D,C,C,C,D,D,A,C,B,B,A,C,A,D,B,A,C,D,A,B (no contesto la pregunta 10). Lo que hago es comparar para ver que respuesta esta buena, pero al no contestar 1 pregunta, no concuerdan las respuestas despues de la pregunta 10, la comparación de las preguntas buenas, con las que respondio el usuario no concuerdan.

Que puedo hacer en este caso?, se me ocurrio dejar un valor por defecto si la persona no responde una pregunta. Pero alguna idea de como lo puedo hacer?, les dejo el codigo.


Código PHP:
$result=mysql_query ("select * from am_examen2 where ex_tipo = '$ar_equcer' order by RAND() limit 25"); 
echo
"<h3 align=\"center\">Examen de certificación de operadores</h3>";   
echo 
"<table border=0 width=90%><tr>";  
echo 
"<tr>";echo "<tr>";echo "<tr>";echo "<tr>";echo "<tr>";echo "<tr>";echo "<tr>";echo "<tr>";echo "<tr>"


$i 0;
$exa_respuesta[0];

$j 0;
$ex_correcta = array();

$ii 1;





while(
$row=mysql_fetch_row($result))


  echo 
"<tr>

    <td><hr></hr><td></td></td><tr><td><strong>$ii .- $row[2]</strong> ($row[0])</td><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></tr><tr><td><input name=\"exa_respuesta["
.$i."]\" type=\"radio\" value=\"A\" /> A)        $row[3]</td></tr><tr><td><input name=\"exa_respuesta[".$i."]\" type=\"radio\" value=\"B\" /> B)        $row[4]</td></tr><tr><td><input name=\"exa_respuesta[".$i."]\" type=\"radio\" value=\"C\" /> C)        $row[5]</td></tr><tr><td><input name=\"exa_respuesta[".$i."]\" type=\"radio\" value=\"D\" /> D)   $row[6]         
 </td>    </td><td></td></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr></tr></tr><tr></tr><tr></tr><tr></tr><tr></tr><tr> 
  </tr> 
  </tr>"


$ii $ii 1;;

$i $i+1;
$ex_correcta[$j]=$row[7]; 
$j $j+1;   
}
 

$var implode(','$ex_correcta); 
Muchas gracias por su tiempo.
  #2 (permalink)  
Antiguo 23/07/2008, 08:40
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Problema con implode y explode

Podrias ser mas especifico? Cual es la complicacion de esa solucion?
Dejar un valor por defecto, es una buena solucion, me parece. Siempre y cuando no Y luego, por cada respuesta sin responder, no la contas, o la contas negativa
  #3 (permalink)  
Antiguo 23/07/2008, 09:15
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: Problema con implode y explode

Gracias por intentar ayudar chitoso, como puedo darle un valor por defecto?
  #4 (permalink)  
Antiguo 23/07/2008, 09:21
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Problema con implode y explode

Nuevamente, sería mas facil si especificaras donde tenes la duda. En el codigo? en la consulta a la base? en el html?

Para agregar un valor por defecto, bien podrías agregar un radio button mas, que diga 'sin respuesta' con un valor que tu definas.
O bien, al procesar el html, si no eligió nada, no lo cuentas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:48.