Question sur un Rand MySQL [MySQL] - PHP - Programmation
Marsh Posté le 17-01-2003 à 16:49:24
un "order by rand()" ça fct ???
order by ne porte pas obligatoirement sur le nom d'un attribut ?
rand() retourne un chiffre non ??
donc je doute que ta query fct...
Marsh Posté le 17-01-2003 à 16:58:33
nan, il me semble que ça fonctionne on en avait discuté sur un autre topic
par contre la question est judicieus mais j'en ai aucune idée.. faut tester pour voir...
Marsh Posté le 17-01-2003 à 17:13:32
bon ok ça fct maitre Sh@rdar
mais les enregs reviennent...
Marsh Posté le 17-01-2003 à 20:09:03
ethernal a écrit : un "order by rand()" ça fct ??? |
voir le topic joint...
alors, sinon, vous avez des réponses ??
Marsh Posté le 17-01-2003 à 21:12:13
Ben il te suffit d'enregistrer le fait que ta valeur a été trouvée une première fois et d'annuler cela une fois que toutes les valeurs auront été trouvées.
Marsh Posté le 17-01-2003 à 22:13:23
Hermes le Messager a écrit : Ben il te suffit d'enregistrer le fait que ta valeur a été trouvée une première fois et d'annuler cela une fois que toutes les valeurs auront été trouvées. |
comment ça ??....
Marsh Posté le 17-01-2003 à 22:16:22
Ben dans ta table, tu fais un champ égal à 0 ou 1 (ou true ou false) et tu testes dans ta requête si la valeur à déjà été trouvée grace à ce champ.
Si elle n'a pas encore été trouvée, tu la prends et tu mets un 1 (ou un true) dans le champ dont je viens de parler. Ainsi, la prochaine fois qu'il tombera sur cette valeur, il la laissera tomber et il en cherchera une autre, jusqu'à ce qu'il n'en subsiste aucune. A ce moment là, il faudra mettre 0 ou false sur toutes les valeurs de ta table.
Marsh Posté le 17-01-2003 à 23:23:18
un order by rand() marche nickel
mé combiné avec un where il retournera toujours les enregistrements dans le meme ordre (ca a fé ca a partir de mysql 3.23.52 si je me souviens bien, sur les versions anterieures ca varié...)
Marsh Posté le 18-01-2003 à 14:05:17
yack a écrit : un order by rand() marche nickel |
donc ça devrait fonctionner tout seul
Marsh Posté le 17-01-2003 à 16:10:04
je fait une requête du style
select * from `ma_table` order by rand() limit $S,$L;
où '$S' est une variable passée en PHP (0, 10, 20, 30, ...) et $L une limite qui pourrait être changé (default.value=10).
la question es celle-ci : quand je fait ça, je ne risque pas de voir plusieurs fois le même enregistrement de la base de donnée s'afficher dans des pages php 'différentes'...
si oui, y'a moyen de faire en sorte que, quand je fais un rand sur la page 1, la page 2 prenne la suite de la liste précédente à partir de 10, etc... etc... etc...
merci et @+