16 11 2001 à 14:00 |
salut salut ! j'aurais une chtite question pour nos amis codeur php, je veux faire un select * from machin truc where condition et juste prendre une occurence aleatoirement.. si kkun peut m'eclairer, m'orienter, ce serait bien cool ;) bonne journée. tcho. |
|
16 11 2001 à 14:16 |
premiere solution : 1) Faire une requête SELECT COUNT(*) FROM la_table pour connaître le nombre d'enregistrements total de la table qui sera placé dans $count 2) Faire srand((double)microtime()*1000000); pour initialiser le générateur aléatoire 3) Faire $rand = rand(0,$count - 1); pour avoir le nombre aléatoire 4) Enfin, faire une requête : SELECT * FROM la_table order by rand() LIMIT 0,1 deuxieme solution : // nombre d'éléments à extraire aléatoirement $a = 5; $requete = mysql_query("SELECT * FROM ta_table ORDER BY rand() LIMIT ".$a); source : http://www.phpinfo.net voila monsieur est servi. ;) |
|
16 11 2001 à 15:06 |
merci m'siou ;p j'ai trouve une aut' methode.. enfin pas tout seul //j'fait ma requete, $query = "select ...." $res= pg_exec($conn,$query); // met le nb de result ds une var $num=pg_numrows($res) if ($num> 0): //j'initalise srand srand(make_seed()); //j'tire un chiffre alea $alea=rand(0,($num-1)); //prend son id; $id=pg_result($res,$alea,0); //et prend les info de cet id $query="select.... where id=$id; ...et l'affiche :))) endif; merci bcp en tout cas Niko pour cette reponse express :))) top cool !! |
|
16 11 2001 à 15:11 |
Ce fut avec plaisir mon cher gug. hihi a+ |
|
Pour répondre à ce sujet (et notifier automatiquement son auteur), cliquez sur le bouton REPONDRE A CE SUJET. Si vous voulez en plus avertir de votre réponse une personne qui a participé à ce sujet, cliquez sur le bouton en face de son intervention. Enfin si vous voulez inviter quelqu'un à réagir, utilisez les appeaux ci-dessous. Seuls les membres logués peuvent utiliser les appeaux et seuls les membres actifs peuvent être appeautés ^^. Bonne notification ! Vous n'êtes pas membre ou vous n'êtes pas logué(e) ou les appeaux sont désactivés dans votre profil. Vous ne pouvez pas utiliser les appeaux. |