prendre 10 entrées aux hasard dans la table - SQL/NoSQL - Programmation
Marsh Posté le 14-05-2007 à 00:53:51
ta pas l'impression que 10 requetes pour 10 images, c'est beaucoup plein ?
ORDER BY rand() LIMIT 10
Marsh Posté le 14-05-2007 à 01:19:36
zecrazytux a écrit : ta pas l'impression que 10 requetes pour 10 images, c'est beaucoup plein ? |
si. et je faisais ça ailleurs aussi pour tirer... 64 images, 1 requete pour chacune. avec cette syntaxe tu me sauves la vie. merci je ne savais pas qu'on pouvait ORDER BY rand().
Marsh Posté le 14-05-2007 à 10:23:46
OMG huhu 64 requetes, mais tu va finir en ddos si tu fou ton site en ligne
Marsh Posté le 14-05-2007 à 00:44:56
Bonsoir,
j'ai un petit souci.
Je souhaite extraire 10 lignes au hasard (pas forcément 10 lignes consécutives) pour les afficher en page d'acceuil (le champ mini contient l'adresse d'une image, donc je veux chopper ce qu'il contient et l'afficher).
il faut donc faire un bête SELECT mini FROM ainsi qu'un WHERE id=xx à chaque boucle (il y'a 10 boucles au total car je veux afficher 10 images, donc 10 requetes SELECT)
Le souci, c'est que je ne sais pas quelles valeurs pourraient prendre mon id. je peux bien sûr faire tel que $id=rand(1,$nbr_entrees_tablephotos) mais vu qu'il m'arrive de supprimer une image, il y a des lignes qui disparaissent, donc par exemple si je supprime l'image avec l'id 3, ma table ressemblera à ça:
id | mini
-------------------------------------
1 | image1.jpg
-------------------------------------
2 | image2.jpg
-------------------------------------
4 | image4.jpg
-------------------------------------
5 | image5.jpg
-------------------------------------
etc| imageetc.jpg
donc si le rand() tombe sur le numéro 3, ça ne va rien retourner, sinon une erreur. comment puis-je régler ce problème? merci