Calendrier PHP et base MySQL

Fermé
rhadamisthe - 24 mai 2011 à 00:37
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 24 mai 2011 à 12:39
Bonjour,
Je début avec MySQL et PHP, et je suis confronté à un gros problème pour la gestion de liens sur les dates dans un calendrier. Les dates correspondent à des évènements qui sont stockés dans une base MySQL.
En effet, j'ai trouvé une méthode, mais je ne parviens pas à l'appliquer.
J'ai une table (events) ; chaque enregistrement (évènement) a, entre autres, une date (event_date) et bien sûr un id. J'ai par ailleurs un script PHP qui affiche un calendrier d'un mois.
L'idée que j'avais trouvée sur internet était d'appliquer la procédure suivante :
1 - Rechercher dans la base les évènements pour le mois affiché par le calendrier ($m est le mois, $a l'année ; au moment où j'écris par exemple, $a = '2011', $m = '05').
2 - Créer un tableau dans lequel le jour de l'évènement est la clef.
3 - Au moment où le calendrier est créé, produire un affichage différent selon que le jour figure ou non en tant que clef dans le tableau.

En ce qui concerne le 1, j'y suis parvenu !
$resultat_mois = mysqli_query($lien, "SELECT *  FROM events WHERE YEAR(event_date) = '$a' AND MONTH(event_date) = '$m' ORDER BY event_date");


C'est au 2 que les choses se corsent. Voici le "code d'exemple" que j'ai trouvé :
while($ligne=mysql_fetch_array(...)){
    $evenement['le jour en question (un nombre de 1 a 31)']=$ligne[id de l'event];
}

J'ai bien sûr pensé remplacer les "..." par mon $resultat_mois :
while($ligne=mysql_fetch_array($resultat_mois)){
    $evenement['le jour en question (un nombre de 1 a 31)']=$ligne['id'];
}

Mais à vrai dire, je bute vraiment sur cet endroit, je ne comprends pas bien, je n'arrive pas à obtenir la liste des id, je pense que je ne sais pas vraiment par quoi remplacer "le jour en question (un nombre de 1 a 31)"... J'ai essayé toutes sortes de choses improbables, et je crois vraiment que j'ai besoin d'un peu d'aide, là.

À titre indicatif, voici le code proposé pour le 3 :
/*
$i=name of day
$thePage=la page de destination
*/
 
if ($events[$i]) echo '<a href="'.$thePage.'?idEvent='.$events[$i].'">'.$i.'</a>';
else echo $i;


Merci d'avance à toute réponse qui pourra m'apporter un peu d'aide ! Je n'ai rien trouvé de vraiment concluant, et ça fait des heures que je planche sur le problème...

A voir également:

1 réponse

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
24 mai 2011 à 12:39
$evenement[$ligne['event_date']]=$ligne['id'];

La j'ai mis toute la date, si tu veux le jour, fait un extraction de ce dernier dans ta chaine et tu le places en clé.
0