Selection aleatoire mysql [Résolu]

Signaler
Messages postés
27
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
27 février 2006
-
Messages postés
6
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
25 juin 2017
-
Est il possible de faire une selection aleatoire dans une table d une base de donnees mysql?
merci

7 réponses

Messages postés
27
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
27 février 2006

Voila en fait c est aussi bete que ca :

$select= "select id from 'nom_table' order by rand()";
$result = mysql_query($select);
$indice =0;
while (list($id) = mysql_fetch_row ($result))
{
if ($indice = = 1)
{
echo $id;
}
$indice++;
}
merki
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

oui : ORDER BY RAND()
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
a mon avis tu selectionnes tout et tu récuperes une position de rang
déterminée par un nombre aléatoire
entre 1 et le nombre total des enregs selectionnés
je ne sais pas si sql peut le faire directement (mais peut être)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Bah si, ORDER BY RAND() donc lol. Couplé à LIMIT si on ne veut qu'un certain nombre d'éléments.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Heu...
tu fais une grosse boucle pour rien là...?
TU veux 1 tirage ?
<?php
$sQuery = 'SELECT id FROM table ORDER BY RAND() LIMIT 1';
$res = mysql_fetch_row ($sQuery);
echo $res[0];
?>

Point barre.
Messages postés
27
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
27 février 2006

bah ouais encore plus simple
merci bien
Messages postés
6
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
25 juin 2017

euh, il manque pas une mysql_query(); quelque part ??