IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Citation/astuce du jour


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut Citation/astuce du jour
    Bonjour.

    Je souhaiterais afficher une citation/astuce du jour sur la page d'accueil de mon site. Quelles sont les meilleures solutions pour faire ceci ?

    Je pense de prime abord à un script lancé tous les jours vers 1h (par un cron ou équivalent) pour récupérer (dans une base de données) la citation du jour et la stocker dans un fichier XML. La page d'accueil lit ensuite simplement le fichier XML.
    D'autres idées ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ta solution est simplement bonne, mais je ne pense pas qu'une structure XML soit nécessaire pour gérer une phrase.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    si c'est un cron qui va lire une base de données pour générer un fichier xml pour être ensuite lus, pourquoi ne pas lire directement la base de données?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  4. #4
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut
    Le problème que je rencontre dans la lecture directe de la base de données, c'est la conservation de la même citation pour toute la journée et quel que soit l'utilisateur. Si je veux me passer du fichier intermédiaire, il faut que je modifie ma base pour marquer dans la table des citations (ou ailleurs), quelle citation utiliser pour le jour courant. Et pour ce faire il me faut quand même une procédure (un script) à lancer en début de journée pour sélectionner la citation du jour. Du coup, ajouter un fichier intermédiaire ne me coute pas grand chose.

  5. #5
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    Ta solution est celle qui vient à l'esprit en premier mais ce n'est pas forcément la plus simple : elle nécessite un cron, un script shell, un fichier temporaire, et un script php pour l'affichage...
    Le plus simple si ton site n'a pas un trop fort traffic serait d'effectuer toutes les opérations au moment de l'affichage : avant d'afficher la citation en cours, par exemple contenue dans un simple fichier texte "motd.txt", le script vérifie la date de modification du fichier (filemtime) et enregistre dedans une citation au hasard si elle remonte à plus d'un jour.

    Mais c'est peut-être encore bien évolué pour ce que tu veux : certains sites affichent sous le nom "citation du jour" une citation totalement aléatoire.

  6. #6
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut
    L'idée de tout réaliser par le script de génération de la page d'accueil me plaît. Je pense la reprendre, sans fichier mais avec une table supplémentaire dans la base de données. Constituée de deux champs, la date et l'identifiant de citation, cette table permettrait non seulement de stocker la citation du jour, mais également d'avoir un historique des citations affichées, évitant ainsi de tomber à nouveau sur une citation sélectionnée récemment.

    Côté algorithme, je vois les choses comme ça : le script vérifie la présence d'une citation pour le jour courant. S'il n'y en a pas, il supprime de l'historique les citations les plus anciennes, en ajoute une pour le jour courant, sélectionnée au hasard parmi les citations non contenues dans l'historique. Dans tous les cas il affiche ensuite la citation du jour.

  7. #7
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    Je sais pas d'où tu sors tes citations mais si elles servent qu'à ça y'a encore plus simple : tu les prends dans l'ordre :o
    echo $citations[floor(time()/3600/24) % count($citations)];

  8. #8
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut
    Sauf que la continuité dans l'attribution de l'identifiant de chaque citation n'est pas garantie dans la base de données et que, pour des raisons de performances, je ne me vois pas charger mes quelques 1500 identifiants dans un tableau.

Discussions similaires

  1. [Citations] Sagesse du jour
    Par hegros dans le forum Lectures
    Réponses: 114
    Dernier message: 07/05/2013, 15h34
  2. Citation aléatoire par jour
    Par alamino dans le forum Langage
    Réponses: 5
    Dernier message: 08/06/2012, 15h31
  3. Réponses: 21
    Dernier message: 03/12/2010, 13h21
  4. Recherche un script style "image du jour" ou "citation du jour"
    Par Invité dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 28/08/2006, 22h22
  5. Astuces pour mettre à jour un exe ?
    Par TreizeSegments dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/07/2005, 20h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo