affichage des articles par mois et année (juste les dates)

(re)

je souhaite afficher les dates (année : janvier - fèvrier...) de tous les articles du site, en cliquant sur les mois on arrive sur une page d'archive qui affiche les articles du mois sur lequel on a cliqué.

//// affichage des dates des articles publiés /////

exemple :

2003 : 01 -02 - 03 - 05
2002 : 01 -02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12
2001 : 01 -02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12
2000 : 01 -02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12

je pense que c'est possible en PHP, j'y suis presque arrivé, mais le résultat n'est pas encore au rendez-vous.

voici le code que j'ai bidouillé

     <BOUCLE_archive(ARTICLES) {par date} {inverse}>
     <?
      $new_mois = '[(#DATE|mois)]';
      $new_annee = '[(#DATE|annee)]';
      if ($new_mois!=$last_mois)
      {
      ?>
     <strong>[(#DATE|annee) : ]</strong><a href="archives_mensuelles.php3?id_mois=<? echo $new_mois; ?>&id_annee=<? echo $new_annee; ?>">[(#DATE|nom_mois)]<br>
     </a>
     <?
      $last_mois = $new_mois;
      }
      ?>
     </BOUCLE_archive>

affichage reçu :

2003 : mai
2003 : avril
2001 : mars

si l'un d'entre vous peut compléter me lacune, merci

---
karim belkacem
téléphone. 06 81 83 75 63
email. kbelkacem@wanadoo.fr
---

Le jeudi, 8 mai 2003, à 15:35 Europe/Paris, karim Belkacem a écrit :

(re)

je souhaite afficher les dates (année : janvier - fèvrier...) de tous les articles du site, en cliquant sur les mois on arrive sur une page d'archive qui affiche les articles du mois sur lequel on a cliqué.

//// affichage des dates des articles publiés /////

exemple :

2003 : 01 -02 - 03 - 05
2002 : 01 -02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12
2001 : 01 -02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12
2000 : 01 -02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12

je pense que c'est possible en PHP, j'y suis presque arrivé, mais le résultat n'est pas encore au rendez-vous.

voici le code que j'ai bidouillé

    <BOUCLE_archive(ARTICLES) {par date} {inverse}>
    <?
      $new_mois = '[(#DATE|mois)]';
      $new_annee = '[(#DATE|annee)]';
      if ($new_mois!=$last_mois)
      {
      ?>
    <strong>[(#DATE|annee) : ]</strong><a href="archives_mensuelles.php3?id_mois=<? echo $new_mois; ?>&id_annee=<? echo $new_annee; ?>">[(#DATE|nom_mois)]<br>
    </a>
    <?
      $last_mois = $new_mois;
      }
      ?>
    </BOUCLE_archive>

affichage reçu :

2003 : mai
2003 : avril
2001 : mars

si l'un d'entre vous peut compléter me lacune, merci

Je te propose (c'est testé) :

   <?php
  // récupération des données :
  $archives = array();
?>
<BOUCLE_archive(ARTICLES){par date}{inverse}>
  <?php
     $a = '[(#DATE|annee)]';
     $nm = '[(#DATE|nom_mois)]';
     $m = [(#DATE|mois)];
     $archives[$a][$m] = $nm;
   ?>
</BOUCLE_archive>

<?php
  // affichage
  while(list($annee,$arch) = each($archives)) {
    echo '<strong>'.$annee.'&nbsp;: ';
     ksort($arch);
    $prems = true;
    while(list($mois,$nom_mois) = each($arch)) {
      if ($prems == false) {
         echo ', ';
       }
       else {
         $prems = false;
       }

       echo '<a href="archives_mensuelles.php3?id_mois='.$mois.'&id_annee='.$annee.'">'.$nom_mois.'</a>';
   }
   echo '<br>';
}
?>

Amicalement

--
Navimodélisme RC - Jean-Luc Béchennec
http://navi.modelisme.com - mailto:navirc@free.fr
Abonnez-vous au groupe de discussion sur le modélisme
naval radiocommandé : mailto:navirc-subscribe@yahoogroupes.fr