[PHP] Système de blague du jour

Résolu
crocoscore Messages postés 176 Statut Membre -  
 moije -
Bonjour à vous,

Je souhaite créer un système de blague du jour. Le principe serait simple: je trouve 200 blagues mais n'affiche qu'une seul blague par jour.

Pourriez-vous me donner une idée pour que la blague change tout les jours aléatoirement mais n'affiche jamais la même... Merci d'avance, j'attends vos idées avec impatience :)

2 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Au début de toutes tes pages :
    <?php
    $pdo = new PDO('mysql:host=localhost;dbname=db_test','root','');
    
    $lastUpdateUrl = 'last_update.txt';
    $currentIdUrl = 'current_id.txt';
    
    $lastUpdateFile = fopen($lastUpdateUrl,'r+');
    $lastUpdateTimestamp = fgets($lastUpdateFile);
    if($lastUpdateTimestamp < ($_SERVER['REQUEST_TIME'] - (3600 * 24))) {
    	fseek($lastUpdateFile, 0);
    	fputs($lastUpdateFile, $_SERVER['REQUEST_TIME']);
    	
    	$sql = 'SELECT id FROM 'blagues' ORDER BY RAND() LIMIT 0,1';
    	$req = $pdo->query($sql);
    	$row = $req->fetch();
    	$id = $row['id'];
    	
    	$currentIdFile = fopen($currentIdUrl, 'r+');
    	fputs($currentIdFile, $id);
    	fclose($currentIdFile);
    }
    fclose($lastUpdateFile);
    ?>
    Pense à créer les deux fichier "last_update.txt" et "current_id.txt" et à leur attribuer les droits en écriture. Il ne te reste plus qu'à récupérer l'id dans current_id.txt et de l'utiliser dans ta requête pour récupérer la blague.
    0
  2. moije
     
    Je ne sais pas si c'est une bonne solution, mais tu peux faire, dans ta base de données une table blague avec les champs :
    - idBlague (l'id de la blage, ça me semble évident^^)
    - texte (le texte de la blague, tout aussi évident)
    - affichee (0 si pas encore affichée, 1 si déjà affichée)

    Tous les jours, tu fais une requete pour selectionner une blague que tu affiches, et tu modifies affichee
    -1
    1. crocoscore Messages postés 176 Statut Membre 5
       
      Oui, cela peut fonctionner mais le principe du PHP c'est l'automatisation...
      0
    2. moije
       
      Heu... tu fais la requete tous les jours = tu fais un script qui lance la requete tous les jours! ^^
      J'étais pas clair, désolé, ça me semblait évident!
      0