Foros del Web » Programando para Internet » PHP »

Mezclar datos de una consulta SQL

Estas en el tema de Mezclar datos de una consulta SQL en el foro de PHP en Foros del Web. RE-Buenas!! Introduzco: Tengo una base de datos mysql, la cual esta compuesta por varios campos y la consulta devuelve Pregunta, Resp1, Resp2, Resp3, donde Resp1 ...
  #1 (permalink)  
Antiguo 13/03/2006, 02:37
Avatar de MeXiCaN  
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona - España , Morelia - México
Mensajes: 162
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Mezclar datos de una consulta SQL

RE-Buenas!!

Introduzco:

Tengo una base de datos mysql, la cual esta compuesta por varios campos y la consulta devuelve Pregunta, Resp1, Resp2, Resp3, donde Resp1 es la correcta, al hacer el test ¿como puedo mezclar las Respuestas para que la respuesta1 no se siempre la primera, y en definitiva el test sea correcto siempre en las primeras preguntas?

Muchas Gracias.
__________________
Un saludo, MeXiCaN :golpeado: :adios:

Poco es tanto, cuando poco necesitas. E.Bunbury

Siempre que haya una causa noble por la que luchar, siempre habrá ladrones que la apoyarán.
  #2 (permalink)  
Antiguo 13/03/2006, 03:06
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 19 años, 2 meses
Puntos: 19
Yo extraería las diferentes respuestas de la consulta SQL y, creando un array con ellas, las ordenaría aleatoriamente con la función shuffle. Suerte.
  #3 (permalink)  
Antiguo 13/03/2006, 04:49
Avatar de MeXiCaN  
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona - España , Morelia - México
Mensajes: 162
Antigüedad: 20 años, 5 meses
Puntos: 0
Pero como ves si hago un shuffle de esto perderé la relación del id_NumEx con el de Resposta1, Respuesta2 y Respuesta3 no?

Código PHP:

<form action="corregir.php" method=post>
<?php do { ?>
  <table width="643" border="0" align="center" cellpadding="1" cellspacing="1">
    <tr>
      <td width="17" colspan="1" align="left" valign="top"><font size="2" face="Trebuchet MS"><?php echo  
      
$i $i+1?><?php echo "."?></font></td>
      <td width="619" colspan="-1" align="left" valign="top"><font size="2" face="Trebuchet MS"><?php echo $row_Recordset1['Pregunta']; ?></font></td>
    </tr>
    <tr>
      <td colspan="3"><font size="2" face="Trebuchet MS">
        <label></label>
        <label>
        <input name="<?php echo $row_Recordset1['id_NumEx'];?>" type="radio" value="<?php echo $row_Recordset1['Resposta1']; ?>">
        </label>
        <?php echo $row_Recordset1['Resposta1']; ?>
        </font></td>
    </tr>
    <tr>
      <td colspan="3"><font size="2" face="Trebuchet MS">
        <label></label>
        <label>
        <input name="<?php echo $row_Recordset1['id_NumEx'];?>" type="radio" value="<?php echo $row_Recordset1['Resposta2']; ?>">
        </label>
        <?php echo $row_Recordset1['Resposta2']; ?></font></td>
    </tr>
    <tr>
      <td colspan="3"><font size="2" face="Trebuchet MS">
        <label>
        <input name="<?php echo $row_Recordset1['id_NumEx']; ?>" type="radio" value="<?php echo $row_Recordset1['Resposta3']; ?>">
        </label>
        <?php echo $row_Recordset1['Resposta3']; ?></font></td>
    </tr>
    <tr>
      <td colspan="3"><hr align="center"></td>
    </tr>
    </table>
  <?php } while ($row_Recordset1 mysql_fetch_assoc($Recordset1)); ?>
  <table width="66" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td><input name="Enviar" type="submit" value="Correct"></td>
    </tr>
  </table><?php echo $tema ?>
</form>
__________________
Un saludo, MeXiCaN :golpeado: :adios:

Poco es tanto, cuando poco necesitas. E.Bunbury

Siempre que haya una causa noble por la que luchar, siempre habrá ladrones que la apoyarán.
  #4 (permalink)  
Antiguo 13/03/2006, 06:01
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 19 años, 2 meses
Puntos: 19
No lo creo. Si tu tienes un array tal que así:
Código PHP:
array = ( (id_NumEx1Pregunta1Resposta1), 
(
id_NumEx2Pregunta2Resposta2),
(
id_NumEx3Pregunta3Resposta3) ); 
y le haces un shuffle pues no deberías tener mayor problema.
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 13:03.