Sélection SQL aléatoire

Protanim
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 306
Inscription: 2 Avr 2005

Sélection SQL aléatoire

Message le Dim Aoû 09, 2009 22:19

Bonjour,

Actuellement, j'ai sur mon site une rubrique "Info du mois" que je change manuellement quand j'y penses. Bref, des fois elle reste 3 semaines, des fois quasi 2 mois car j'ai zappé de la modifier.
Du coup, je voudrais faire un truc automatique histoire de ne pas me prendre la tête.
Je pensais donc mettre toutes les infos dans une table Mysql et piocher dedans. J'ai réfléchi à trois méthodes mais à vrai dire je n'ai pas d'idée de comment faire :

- Infos du jour (histoire de renouveler plus souvent) : afficher chaque jour une info différente en la piochant dans la base. Ca implique que l'info à J+1 ne doit pas être la même que celle à J.
- Infos à un temps t : affichage aléatoire d'une des infos de la table (ça peut changer à chaque chargement de page par ex).
- Infos du mois : idem ci dessus mais M+1 pas identique que M

Je privilégie les deux premières options, avec peut être une préférence pour la 1 mais si je savais faire la 2, je pense que je m'en servirais aussi de toute façon pour autre chose (et d'autant plus si la 1 n'est pas possible).

Est ce que c'est possible ? pour la 2 par ex, comment dire que je fais un SELECT "RANDOM" ?

Merci d'avance

Moof
WRInaute discret
WRInaute discret
 
Messages: 206
Inscription: 22 Mar 2003

Re: Sélection SQL aléatoire

Message le Lun Aoû 10, 2009 2:18

Pour sélectionner une ligne au hasard dans ta table mysql, tu fais :
Code: Tout sélectionner
SELECT * FROM `ta_table` ORDER BY RAND LIMIT 0,1

Protanim
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 306
Inscription: 2 Avr 2005

Re: Sélection SQL aléatoire

Message le Lun Aoû 10, 2009 10:05

Merci, je vais déjà mettre ça en place.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité