Page 1 sur 1

[php] Afficher le contenu d'une DB aléatoirement...

Publié : 23 févr. 2007, 09:10
par GregK84
Bonjour,

Voici la requête que j'utilise pour afficher mon contenu. Maintenant, je souhaiterais sur base de cette requête d'afficher mon contenu aléatoirement.

Pour ce qui concerne l'utilité, l'idée est dans un premier temps d'afficher aléatoirement 10 questions d'un qcm et dans un second temps dans une liste de 20 ou 30 questions d'afficher aléatoirement 10 questions. Comme cela vous avez une idée de l'utilité.

Code : Tout sélectionner

<?php
$sql = "SELECT * FROM $tablename WHERE $condition) ORDER BY $date DESC;";
$result = mysql_query($sql) or die("ERREUR: La requête n'est pas valide: ".mysql_error());

while ($row = mysql_fetch_object($result)) { ?>
		
	<h2 class="titre"><?=$row->db_titre)?></h2>
	<p class="date"><?=$row->db_date)?></p>
	<p><?=$row->db_question?></p>
		
<?php } ?>
Merci

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Publié : 23 févr. 2007, 09:23
par calimo
http://php.net/rand

À ma connaissance, il n'y a pas de possibilité de sélectionner une entrée aléatoirement en sql. Donc tu dois faire ça du côté php à mon avis (je ne sais pas comment est ta base, mais en gros, soit tu choisis un id aléatoirement avant de faire la requête, soit tu sélectionnes tout, regarde la taille du tableau retourné et choisis une entrée au hasard) :wink:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.1) Gecko/20061208 Firefox/2.0.0.1

Publié : 23 févr. 2007, 09:53
par GregK84
j'avais pensé à cette solution ... mettre l'ensemble des données dans un tableau et ensuite afficher aléatoirement les champs du tableau ...

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Publié : 23 févr. 2007, 12:50
par martin

Publié : 23 févr. 2007, 14:33
par GregK84
merci cela me semble être une une solution des plus intéressante !

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1