[Résolu] Afficher le bon texte en fonction jour.

Eléphanteau du PHP | 17 Messages

29 déc. 2011, 18:47

Bonjour,
J’ai un code, il afficher un texte différent chaque jour, tout est déjà dans une BDD (365 textes pour 365 jours, classés par date et par mois). Mais le problème quand le mois est terminé, au lieu d’afficher les textes du mois suivant, il affiche les textes du mois passé, donc toujours les mêmes textes peu importe le mois. Est-ce quelqu'un peu me modifier le script afin qu’il affiche le texte du jour en fonction du mois et du jour en cour ?
Merci

<?php 

//Variable simple
$jour = DATE("d"); 
$mois = DATE("m");
$annee = DATE("Y");

$texte = "Texte du $jour/$mois/$annee";


//Connexion a la BDD
mysql_connect("localhost", "root", "");
mysql_select_db("spurgeon");
//Requéte
$sql = "SELECT * FROM spurgeon WHERE jour=$jour AND mois=mois ";
$sql = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());   
$row = mysql_fetch_array($sql);
mysql_close(); //Fermeture de BDD


?>
Modifié en dernier par Nathan-971 le 30 déc. 2011, 00:40, modifié 1 fois.

Eléphant du PHP | 52 Messages

29 déc. 2011, 20:36

tu as oublié le signe dollar devant ta variable que tu as écrite comme le nom du champ.

$sql = "SELECT * FROM spurgeon WHERE jour=$jour AND mois=$mois ";

évite l'emploi de l'astérique * ça alourdit ta requête. ne ramène que le(s) champ(s) dont tu as besoin. par exemple:

$sql = "SELECT texte FROM spurgeon WHERE jour=$jour AND mois=$mois ";

Mammouth du PHP | 2278 Messages

29 déc. 2011, 21:00

en stockant dans la BDD non pas par mois et jour, mais simplement de 1 à 366 (années bissextiles prévues) et en utilisant:
date(z), ça simplifierait. Comme il y a de bonnes chances que ta BDD contienne des id numériques comme clef unique, ça devrait aller vite; sinon :
alter table citations add column (numero_jour INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (numero_jour));
et tu interroges par date (z)...
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 17 Messages

30 déc. 2011, 00:40

Merci , tout fonctionne.