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.

.:gug:. (membre - )
47 ans (paris)
gug05@yahoo.fr

cet espace est à vendre ! mise à prix à 22€





  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. ;)

niko (admin. exilé fanatique - )
44 ans (Reims)
niko@piregwan.com
http://summerefresh.piregwan.com

cet espace est à vendre ! mise à prix à 335€





  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 !!



.:gug:. (membre - )
47 ans (paris)
gug05@yahoo.fr

cet espace est à vendre ! mise à prix à 22€





  16 11 2001 à 15:11


Ce fut avec plaisir mon cher gug.
hihi

a+

niko (admin. exilé fanatique - )
44 ans (Reims)
niko@piregwan.com
http://summerefresh.piregwan.com

cet espace est à vendre ! mise à prix à 335€


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.