Ejercicio trivial ‘pregunta.php’ con divide y vencerás

Nuestra página tiene que hacer lo siguiente:

– Buscar una pregunta en la base de datos al azar
– Guardar la información en una variable
– Codificarla en json e imprimirla.

Las preguntas son ¿Sabemos recuperar una fila de una base de datos? Deberíamos (PDO). El problema es que queremos una fila al azar. Bien, es tan sencillo como usar este sql:

select * from preguntas order by rand() limit 1

Una vez tenemos esto podemos directamente pasar la fila al javascript o podemos crear nuestra variable dándole un poco de formato:

Si mi fila es $fila sería algo así:

$res['pregunta']=$fila['pregunta'];
$res['correcta']=$fila['respuesta1'];
$res['respuestas']=[$fila['respuesta1'],$fila['respuesta2'],$fila['respuesta3'],$fila['respuesta4']];
shuffle($res['respuestas']);

He aprovechado para desordenar las respuestas. Una vez hecho esto sólo hay que codificar en json e imprimir.

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos