Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1634 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Calendrier php dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Calendrier php dynamique

n°1579069
mlemaire
Posté le 25-06-2007 à 22:26:55  profilanswer
 

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 :
  1. <?php
  2. function afficheMois($mois, $annee)
  3. {
  4. $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');
  5. $labelJour = array('Lu.', 'Ma.', 'Me.', 'Je.', 'Ve.', 'Sa.', 'Di.');
  6. //détermine le nombre de jours dans le mois en tenant compte des années bissextiles
  7. $timestamp = mktime(00, 00, 01, $mois, 1, $annee);
  8. $nbJours = date('t', $timestamp);
  9. echo "<table>\n";
  10. echo "<tr><td colspan=\"4\" class=\"mois\">$labelMois[$mois]</td>";
  11. echo "<td colspan=\"3\" align=\"right\">$annee</td></tr>\n";
  12. echo "<tr>";
  13. for ($si = 0; $si < 7; $si++)
  14. {
  15. echo "<td>$labelJour[$si]</td>";
  16. }
  17. echo "</tr>\n";
  18. echo "<tr>";
  19. $premierJour = date('w', $timestamp) - 1;
  20. //sauter autant de colonne que nécessaire pour atteindre le premier jour de la semaine
  21. for($si = 0; $si < $premierJour; $si++)
  22. {
  23. echo "<td></td>";
  24. }
  25. //Passer en revue tous les autres jours du mois
  26. for ($si = 0; $si < $nbJours; $si++)
  27. {
  28. if (($si + $premierJour) % 7 == 0)
  29. {
  30. //Retour à la ligne chaque Lundi
  31. echo "</tr>\n<tr>";
  32. }
  33. $actuelj = date('d');
  34. $actuelm = date('m');
  35. $actuela = date('Y');
  36. if($actuelj == ($si+1) AND $actuelm == $mois AND $actuela == $annee)
  37. {
  38. $cssClass ="jour";
  39. }
  40. else
  41. {
  42. $cssClass ="date";
  43. }
  44. echo "<td align=\"center\" class=\"$cssClass\">";
  45. echo ($si + 1);
  46. echo "</td>";
  47. }
  48. echo "</tr>\n";
  49. echo "</table>\n";
  50. }
  51. ?>


 
Puis j'affiche ma fonction :

Code :
  1. <?php
  2. $mois = date('m');
  3. $annee = date('Y');
  4. afficheMois($mois, $annee);
  5. ?>


 
Jusqu'a la pas de probleme.
 
Je peut recuperer les dates de mes articles ajoutés :

Code :
  1. $requete_article = mysql_query('SELECT * FROM article');
  2. while ($donnees_article = mysql_fetch_assoc($requete_article))
  3. {
  4. $donnees_article["date_parution"];
  5. }


 
Maintenant je n'arrive pas à inserer à cet endroit :

Code :
  1. for ($si = 0; $si < $nbJours; $si++)
  2. {
  3. if (($si + $premierJour) % 7 == 0)
  4. {
  5. //Retour à la ligne chaque Lundi
  6. echo "</tr>\n<tr>";
  7. }
  8. $actuelj = date('d');
  9. $actuelm = date('m');
  10. $actuela = date('Y');
  11. if($actuelj == ($si+1) AND $actuelm == $mois AND $actuela == $annee)
  12. {
  13. $cssClass ="jour";
  14. }
  15. else
  16. {
  17. $cssClass ="date";
  18. }
  19. echo "<td align=\"center\" class=\"$cssClass\">";
  20. echo ($si + 1);
  21. echo "</td>";
  22. }


 
 
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 :
  1. if ($auj == $donnees_article["date_parution"]){
  2. echo "<td align=\"center\" class=\"$cssClass\"><a href'#'>";
  3. echo ($si + 1);
  4. echo "</a></td>";
  5. } else {
  6. echo "<td align=\"center\" class=\"$cssClass\">";
  7. echo ($si + 1);
  8. echo "</td>";
  9. }


 
Voila je me perd entre les "if" les "for" les "while"  
 
Merci de votre aide tres précieuse

mood
Publicité
Posté le 25-06-2007 à 22:26:55  profilanswer
 

n°1579073
grosbin
OR die;
Posté le 25-06-2007 à 22:43:57  profilanswer
 

Ca sent le code repompé non ?? Joli calendrier en effet ^^


Message édité par grosbin le 25-06-2007 à 22:45:52

---------------
Photos Panoramiques Montagnes Haute Savoie
n°1579080
mlemaire
Posté le 25-06-2007 à 22:56:30  profilanswer
 

oui bien sur c'est un script en licence GPL.
 
Un script simple qui affiche le calendrier dont j'essaye de le rendre dynamique.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Calendrier php dynamique

 

Sujets relatifs
[XSL] Générer un tableau dynamiqueDéfilement d'un fichier texte dynamique de gauche à droite
menu vertical dynamiqueInsertion dynamique d'une ligne de tableau
Pb réaffichage formulaire dynamiqueComment gérer un formulaire dynamique de recherche
Problème de destruction dynamique d'AppletQue me conseillez-vous pour une carte dynamique ?
Menu dynamique qui ne s'affiche pas sous Firefox[HTML]comment faire un calendrier dynamique et récupérer les valeurs
Plus de sujets relatifs à : Calendrier php dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR