Tri aléatoire de 10 questions dans une liste de 30

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tri aléatoire de 10 questions dans une liste de 30

Re: Tri aléatoire de 10 questions dans une liste de 30

par AB » 20 sept. 2010, 18:05

Ben si tu as tes questions dans un tableau il te suffit de faire par exemple
$question = array_shift($_SESSION['tableau']);
$question aura la valeur du premier élément du tableau et cette entrée sera supprimée du tableau.

Re: Tri aléatoire de 10 questions dans une liste de 30

par Mtkone » 20 sept. 2010, 17:49

Merci de ta réponse AB

Je t'avoue que j'ai pas bien compris ce que tu voulais dire mais c'est certainement parce que je suis super debutant en php!! lol
pourrais tu être plus précis ? une fois que j'ai mis mes resultats dans une session, comment faire pour eviter que les memes questions ne resortent ??

merci de ton aide

Re: Tri aléatoire de 10 questions dans une liste de 30

par AB » 20 sept. 2010, 15:20

Par exemple tu peux enregistrer les 10 résultats dans un tableau que tu met dans une variable de session. Ensuite tu liste ton tableau en affichant les éléments un par un.

Re: Tri aléatoire de 10 questions dans une liste de 30

par Mtkone » 20 sept. 2010, 14:24

Merci de ta réponse Skikit,

Effectivement le limit 0,10 marche nickel, thank's a lot.

Par contre maintenant il me reste un autre pb à résoudre. En théorie les questions doivent s'afficher une par une. par exemple la question 1 s'affiche et je dois appuyer sur valider pour passer à la suivante....comment faire pour ne pas voir apparaitre deux fois la meme question ??

t'aurais pas encore une autre idée en stock ??? :lol:

Re: Tri aléatoire de 10 questions dans une liste de 30

par Skikit » 20 sept. 2010, 12:19

Salut,

En utilisant le LIMIT, tout simplement :
$sql = 'SELECT questions, id FROM questions ORDER BY RAND() LIMIT 0,10';

Tri aléatoire de 10 questions dans une liste de 30

par Mtkone » 20 sept. 2010, 11:25

Bonjour,

J'ai un petit quizz à réaliser avec affichage aléatoire des questions. J'ai donc utilisé la fonction rand() dans ma requête, pas de soucis la dessus. Par contre j'ai une contrainte car ma table question contient 30 questions et je ne dois afficher que 10 questions aléatoirement sur ces 30 questions. Voila c'est la que je bloque

voici ma requête :

Code : Tout sélectionner

$sql = 'SELECT questions, id FROM questions ORDER BY RAND() LIMIT 1'; $req = mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br/>'.mysql_error());
Est-ce que quelq'un à une idée ?? Merci d'avance