selection aleatoire

selection aleatoire - PHP - Programmation

Marsh Posté le 17-10-2003 à 20:27:50    

Bonjour à tous,
 
je rencontre un probleme stupide dont je ne trouve pas la raison.
J'ai une bdd MySQL contenant une base user dans la quelle je voudrais selectionner de facon aleatoire un resultat repondant à une contrainte.
 
Voila mon code :
 
mysql_query("SELECT * FROM `user` WHERE open_anciens='1' ORDER BY RAND() LIMIT 1",$connexion)
 
Ca fonctionne mais bizarrement. Je m'explique : il choisit bien une des lignes repondant à la contrainte, par contre dans 80% des cas c'est la même ligne qui est sélectionnée (en l'occurence la première dans la l'ordre des ID). D'ou est ce que ca vient ??
 
Merci d'avance pour vos réponses

Reply

Marsh Posté le 17-10-2003 à 20:27:50   

Reply

Marsh Posté le 17-10-2003 à 20:48:29    

t'as fait une initialisation avec srand ?

Reply

Marsh Posté le 17-10-2003 à 20:52:20    

Non, mais a quel moment dois-je faire cette initialisation ?

Reply

Marsh Posté le 17-10-2003 à 20:54:47    

tu peux pas faire ça???,
 
 

Code :
  1. mysql_query("SELECT RAND(*) FROM `user` WHERE open_anciens='1' LIMIT 1",$connexion);


Message édité par Ayuget le 17-10-2003 à 20:55:23
Reply

Marsh Posté le 17-10-2003 à 20:54:51    

D'apres la doc php, il n'est plus nécessaire de faire d'initialisation avec Srand depuis la version 4.2.0 et le prog tourne sur une 4.3.3

Reply

Marsh Posté le 17-10-2003 à 21:00:31    

Ca a pas l'air de marcher ca :
mysql_query("SELECT RAND(*) FROM `user` WHERE open_anciens='1' LIMIT 1",$connexion);
 il met un message d'erreur : Something is wrong in your syntax près de '*) FROM `user` WHERE open_anciens='1' LIMIT 1' à la ligne 1

Reply

Marsh Posté le 17-10-2003 à 21:58:03    

Bon ben c bon, j'ai triché avec un tableau pour randomiser.

Reply

Marsh Posté le 17-10-2003 à 23:14:39    

oué j'ai fait une faute, y'a pas de LIMIT avec RAND

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed