8791 sujets

Développement web côté serveur, CMS

Bonjour,

j'ai une requete et je veux afficher les 10 articles aléatoirement est ce que cette requête est bon ou pas

Merci Cordialement
Modérateur
Bonjour,

Tu sembles parler d'une requête en particulier, mais tu as oublié de mettre le code en question...
Tu peux utiliser cette requête

SELECT * FROM Table ORDER BY RAND() LIMIT 10;


Par contre au cas où tu ai beaucoup d'enregistrement dans ta table, je te conseil quand même de mettre une clause WHERE (quitte à ce qu'elle soit aléatoire aussi) afin d'éviter de surcharger ta base.
Salut,

Petits bemols:
- évite le SELECT * s'il n'est pas nécessaire : ne trimballons pas de données inutiles
- il vaut mieux éviter ORDER BY RAND() de façon générale, car ça oblige le serveur mysql à effectuer un appel à RAND() pour chaque ligne de ta table, ce qui peut rapidement devenir pénible pour le serveur; peut-être à la place récupérer juste les id et en choisir 10 avec un array_rand, ou quelque chose du style.