Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/09/2008, 21:32
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: registros aleatorios

Definitivamente, si deseas obtener aleatoriamente N preguntas, y deseas que estas cumplan algunas condiciones, entonces ya no estamos en un aleatorio en el más estricto sentido de la palabra. La única solución es realizar una consulta por cada nivel de dificultad, indicando en la consulta el nivel del cual se debe escoger las preguntas y el número a extraer. Siguiendo tu ejemplo sería algo así:

Código sql:
Ver original
  1. SELECT * FROM cuestionario WHERE dificultad='3' ORDER BY RAND() LIMIT 0, 2
  2. SELECT * FROM cuestionario WHERE dificultad='2' ORDER BY RAND() LIMIT 0, 3
  3. SELECT * FROM cuestionario WHERE dificultad='1' ORDER BY RAND() LIMIT 0, 5
Cada una de esas tienes que realizarla por separado, y luego puedes juntarlas en un arreglo, y si deseas, reordenarlo aleatoriamente para que las preguntas que ya tienes se mezclen entre sí.

Saludos,