mlemaire | Bonsoir à tous.
J'aimerais afficher sur mon site un calendrier avec un lien sur le jour si un article est ajouté.
Par exemple le 15 juin 2007 un article est ajouté, le calendrier aura le 15 juin cliquable.
J'arrive à afficher le calendrier de cet façon :
Code :
- <?php
- function afficheMois($mois, $annee)
- {
- $labelMois = array( '01'=>'Janvier', '02'=>'Février', '03'=>'Mars', '04'=>'Avril', '05'=>'Mai', '06'=>'Juin', '07'=>'Juillet', '08'=>'Août', '09'=>'Septembre', '10'=>'Octobre', '11'=>'Novembre', '12'=>'Decembre');
- $labelJour = array('Lu.', 'Ma.', 'Me.', 'Je.', 'Ve.', 'Sa.', 'Di.');
- //détermine le nombre de jours dans le mois en tenant compte des années bissextiles
- $timestamp = mktime(00, 00, 01, $mois, 1, $annee);
- $nbJours = date('t', $timestamp);
- echo "<table>\n";
- echo "<tr><td colspan=\"4\" class=\"mois\">$labelMois[$mois]</td>";
- echo "<td colspan=\"3\" align=\"right\">$annee</td></tr>\n";
- echo "<tr>";
- for ($si = 0; $si < 7; $si++)
- {
- echo "<td>$labelJour[$si]</td>";
- }
- echo "</tr>\n";
- echo "<tr>";
- $premierJour = date('w', $timestamp) - 1;
- //sauter autant de colonne que nécessaire pour atteindre le premier jour de la semaine
- for($si = 0; $si < $premierJour; $si++)
- {
- echo "<td></td>";
- }
- //Passer en revue tous les autres jours du mois
- for ($si = 0; $si < $nbJours; $si++)
- {
- if (($si + $premierJour) % 7 == 0)
- {
- //Retour à la ligne chaque Lundi
- echo "</tr>\n<tr>";
- }
- $actuelj = date('d');
- $actuelm = date('m');
- $actuela = date('Y');
- if($actuelj == ($si+1) AND $actuelm == $mois AND $actuela == $annee)
- {
- $cssClass ="jour";
- }
- else
- {
- $cssClass ="date";
- }
- echo "<td align=\"center\" class=\"$cssClass\">";
- echo ($si + 1);
- echo "</td>";
- }
- echo "</tr>\n";
- echo "</table>\n";
- }
- ?>
|
Puis j'affiche ma fonction :
Code :
- <?php
- $mois = date('m');
- $annee = date('Y');
- afficheMois($mois, $annee);
- ?>
|
Jusqu'a la pas de probleme.
Je peut recuperer les dates de mes articles ajoutés :
Code :
- $requete_article = mysql_query('SELECT * FROM article');
- while ($donnees_article = mysql_fetch_assoc($requete_article))
- {
- $donnees_article["date_parution"];
- }
|
Maintenant je n'arrive pas à inserer à cet endroit :
Code :
- for ($si = 0; $si < $nbJours; $si++)
- {
- if (($si + $premierJour) % 7 == 0)
- {
- //Retour à la ligne chaque Lundi
- echo "</tr>\n<tr>";
- }
- $actuelj = date('d');
- $actuelm = date('m');
- $actuela = date('Y');
- if($actuelj == ($si+1) AND $actuelm == $mois AND $actuela == $annee)
- {
- $cssClass ="jour";
- }
- else
- {
- $cssClass ="date";
- }
- echo "<td align=\"center\" class=\"$cssClass\">";
- echo ($si + 1);
- echo "</td>";
- }
|
J'ai créer une variable $auj = $actuela."-".$actuelm."-".$si
J'arrive à obtenir toutes les dates entre le 2007-06-01 et le 2007-06-30
De plus j'arrive à obtenir de ma base les dates des artciles du mois de juin et recuperer les valeurs ainsi : 2007-06-15 2006-06-01 Malheureusement je ne voit pas ou mettre Code :
- if ($auj == $donnees_article["date_parution"]){
- echo "<td align=\"center\" class=\"$cssClass\"><a href'#'>";
- echo ($si + 1);
- echo "</a></td>";
- } else {
- echo "<td align=\"center\" class=\"$cssClass\">";
- echo ($si + 1);
- echo "</td>";
- }
|
Voila je me perd entre les "if" les "for" les "while" Merci de votre aide tres précieuse |