Recuperer une ligne de ma table chaque jour differente

sabou94 Messages postés 158 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 17 avril 2007 - 23 févr. 2007 à 16:37
weboide Messages postés 30 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 13 mars 2007 - 5 mars 2007 à 12:54
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

Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
24 févr. 2007 à 17:51
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à...
0
sabou94 Messages postés 158 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 17 avril 2007
26 févr. 2007 à 09:38
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
0
weboide Messages postés 30 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 13 mars 2007
5 mars 2007 à 12:54
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 ?
0
Rejoignez-nous