[RESOLU] Requête RAND sur une colonne

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Requête RAND sur une colonne

Re: Requête RAND sur une colonne

par tof73 » 21 janv. 2015, 23:34

order by rand()
sans paramètre

Requête RAND sur une colonne

par loopio » 21 janv. 2015, 22:38

Bonsoir à tous,

Je souhaite afficher un bloc sous chacun de mes articles de type "articles en rapport" qui n'affichera que 5 articles/liens. Jusque là pas de souci. Ce que je voudrais faire c'est afficher 5 articles aléatoires. J'ai choisi pour le moment la colonne id(qui est numérique) pour afficher les 5 articles comme ceci et qui fonctionne :

Code : Tout sélectionner

$req_rapport = reqmysql(' SELECT `articles`.`ref`, `articles`.`titre`, `articles`.`id`, `articles`.`img`, `articles`.`type` FROM `articles` LEFT JOIN `rubriques` ON `articles`.`ref` = `rubriques`.`id` LEFT JOIN `users` ON `users`.`pseudo` = `articles`.`auteur` WHERE `rubriques`.`id`="'.$articles_article->cat_id.'" AND `articles`.`validation` = "0" AND `articles`.`ref` IN '.$K_user->rubrique[0].' ORDER BY `articles`.`id` ASC LIMIT 0,5 ');
Ce que j'ai déjà testé pour afficher 5 articles aléatoires :

Code : Tout sélectionner

ORDER BY `articles`.`id`RAND ()
Qui m'affiche une erreur SQL

J'ai testé aussi ceci :

Code : Tout sélectionner

ORDER BY RAND (`articles`.`id`)
Qui effectivement m'affiche 5 articles aléatoires mais toujours les mêmes (c'est à dire que même si je rafraichis 10 fois la page, c'est toujours les 5 mêmes articles aléatoires qui apparaissent.)

Ps: je sais que faire une RAND est pas terrible au niveau performance, mais ma colonne ne contient que de 5 à 25 entrées max. Si il y a un autre moyen, je suis aussi preneur ^^ .