[PHP] Système de blague du jour

Résolu/Fermé
crocoscore Messages postés 165 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 3 février 2015 - 22 avril 2010 à 12:46
 moije - 23 avril 2010 à 10:37
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

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
22 avril 2010 à 19:13
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
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
crocoscore Messages postés 165 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 3 février 2015 5
22 avril 2010 à 17:14
Oui, cela peut fonctionner mais le principe du PHP c'est l'automatisation...
0
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