PHP, MySQL : Sections aléatoires

Résolu
Olivier20 -  
 Olivier20 -
Bonjour tout le monde,

Je suis actuellement face à un problème que j’essai de résoudre depuis plusieurs sans et je n'arrive toujours pas à le résoudre.
J’ai une base de données qui contient 150 articles avec leurs "titre", "description", "ID", "titre", "vue", etc. Je voudrais sélectionner 5 articles de manière aléatoire avec leurs titres, id et vue.

Comment je peux faire pour cela, je pense que "foreach" de php est bien adapté, mais je ne sais pas l’utiliser.

PS: "titre", "description", "ID", "titre", "vue", sont des champs d'une table.

Quelqu’un peut m’aider svp ?

Merci d’avance pour votre aide
A voir également:

9 réponses

Olivier20
 
Oups, je me suis tromper dans le titre, je voulais mettre :
PHP, MySQL : Sélections aléatoires
0
Olivier20
 
Vous n'avez une idée ?
0
P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   85
 
SELECT ID, titre, description, vue FROM latable
ORDER BY RAND() LIMIT ;
Tout simplement.

Pour info, il y aussi en php, il y a array_rand() et shuffle()
0
Olivier20
 
Merci pour ta réponse,

C'est exactement ce que j'utilise pour récupérer les données, mais je ne sais pas comment faire pour afficher ces 5 articles de manière aléatoire.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   85
 
Ils ont déjà été prit de manière aléatoire.

Il ne te reste plus qu'à les afficher, et c'est tout ;)
0
Olivier20
 
Bonjour,

Super, j'ai fini par trouver comment afficher ces articles. Mais maintenant je suis confronter à un autre probleme :

Les 5 articles qui s'affichent comportes par fois des articles qui sont hors-ligne. Les articles hors-ligne ont un champ (horsligne) qui est égale à " 0". Comment faire pour sélectionner ces 5 articles en tenant compte du champ "horsligne" ? Utiliser une condition dans la requête sql ?
0
scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
SELECT ID, titre, description, vue FROM latable
WHERE horsligne!=0
ORDER BY RAND() LIMIT ;
0
Olivier20
 
Merci,
Comme on dit un bruit peut cacher un autre :-) je viens de voir qu'il y a 2 champ à exclure : horsligne et statut

Voici ma requête à l'origine. Celle qui marche :

SELECT ID, titre, description, vue FROM latable
WHERE cid='$leCid' <<==== Pour effectuer une sélection dans la catégorie courante
ORDER BY RAND() LIMIT 5 ;


La nouvelle qui ne marche pas :

SELECT ID, titre, description, vue FROM latable
WHERE cid='$leCid'  horsligne!=0 statut!=0
ORDER BY RAND() LIMIT 5 ;


WHERE cid='$leCid' horsligne!=0 statut!=0 : est correcte ?
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Non il faut des AND entre chaque condition

SELECT ID, titre, description, vue FROM latable
WHERE cid='$leCid' AND  horsligne!=0 AND statut!=0
ORDER BY RAND() LIMIT 5 ;
0
Olivier20
 
Merci beaucoup, ça marche bien avec "AND".

Excellente journée à vous tous !

Problèmes résolus.
0