Recuperer une ligne de ma table chaque jour differente

Signaler
Messages postés
158
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
17 avril 2007
-
Messages postés
30
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
13 mars 2007
-
Bonjour,
voilà mon problème :
j'ai une petite table avec dedans des citations (id, libellé, auteur, theme) que je veux afficher sur ma page.
Seulement, je veux afficher chaque jour une citation differente! j'en aurais minimum une cinquantaine, alors comment faire pour que chaque jour une citation differente s'affiche?
J'ai essayé ca : select * from MAX_LIB where id_lib=".rand(1,100);
Mais comme je n'ai pas encore mes citations je ne peux pas tester, et ce dont j'ai peur c'est que ca m'affiche par exemple :
lundi citation 50
mardi citation 26
mercredi citation 90
jeudi citation 50 !! Vous comprenez? je veux pouvoir dire que les citations ne soit recuperés qu'une fois jusqu'à ce qu'on ait fait le tour, et on recommence!
Ca doit pas etre difficile mais suis un peu perdu...

Merci d'avance à ceux qui voudraient bien m'aider!!!

sabrina

3 réponses

Messages postés
510
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
5 juillet 2009
3
Salut,

Pour ton problème, une solution "élégante"
Déjà, ajouter un champ "seen" dans ta table, que tu passes à 0 ou 1 selon si la citation à été vue ou pas encore.
(Ne pas oublier de le repasser à 0 une fois toutes les citations vues)

Ensuite, faire une requete "SELECT RANDOM FROM table WHERE seen != 1 LIMIT 1"

(Peut etre revoir un poil la requète, mais l'idée est là...
Messages postés
158
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
17 avril 2007

Bonjour,


Merci pour ta proposition mais si je ne me trompe pas, la requete changera à chaque rechargement de la page si je fais ca? Donc ca m'affichera une citation differente à chaque fois, or moi je veux LA meme citation pour un jour donné, et que celle ci change chaque jour. J'avoue que je suis un peu perdu... Peut etre faut -il faire ca avec une cron? Je vais en utiliser une pour un envoi quotidien de mail avec la citation du jour justement! Mais je ne vois pas comment faire exactement? Si quelqu'un pouvais me mettre sur la piste...
Merci....

Sabrina
Messages postés
30
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
13 mars 2007

Salut,

Tu peux essayer en mettant un champs "date_apparition" sur ta table de citation, et tu feras ca :

1. Tu fais une requete si tu trouve une citation possédant la date d'aujourd'hui,  si tu trouves tu vas à l'étape 4, sinon etape 2
2. au hasard tu choisis une citation qui ne possede pas deja de date_apparition
3. tu lui donne la date d'aujourd'hui
4. tu prend la citation d'aujourd'hui, et tu l'affiche.

ca marchera pour toutes les personnes qui vienne sur ton site, et meme si tu réaffiches plein de fois;..
n'hésite pas à mettre un index sur le champs pour pouvoir faire une recherche rapide.
et en plus tu gardes un historique des affichages

Sympa non ?