Boucle avec gestion des dates

Bonjour à tous!

Sur la première page du site, je voudrais indiquer les quatre prochains événements.
Dans la base de données, ce sont des articles dont la date est fixée par la date de publication.
Je fais donc une boucle

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac}{age_redac<=0}{0,4}>
  
  [(#DATE_REDAC|nom_jour)] [(#DATE_REDAC|jour)] [(#DATE_REDAC|nom_mois)]
  <br>#SURTITRE :
  <a href="#URL_ARTICLE">#TITRE</a>"

</BOUCLE_dates_proch>

Jusque là tout va bien.
Mais parfois plusieurs événements ont lieu le même jour et donc j'ai une répétition de la date.
Comment pourrais-je avoir plutôt:

Date1
événement1
événement2

Date2
événement3

Date3
événement4

Là je sèche.
Quelqu'un peut m'aider?
Merci!

Geoffroy

sb052748@skynet.be wrote:

Bonjour à tous!

Sur la première page du site, je voudrais indiquer les quatre prochains événements.
Dans la base de données, ce sont des articles dont la date est fixée par la date de publication.
Je fais donc une boucle

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac}{age_redac<=0}{0,4}>
        [(#DATE_REDAC|nom_jour)] [(#DATE_REDAC|jour)] [(#DATE_REDAC|nom_mois)]
    <br>#SURTITRE :
    <a href="#URL_ARTICLE">#TITRE</a>"

</BOUCLE_dates_proch>

Jusque là tout va bien.
Mais parfois plusieurs événements ont lieu le même jour et donc j'ai une répétition de la date.
Comment pourrais-je avoir plutôt:

Date1
événement1
événement2

Date2
événement3

Date3
événement4

Là je sèche.
Quelqu'un peut m'aider?
Merci!

Geoffroy

Essaie ça :

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac} {age_redac<=0} {0,4}>
<BOUCLE_date_des_articles_du_jour (ARTICLES) {doublons} {age_relatif_redac=0} {par date_redac} {0,1}>
     [(#DATE_REDAC|nom_jour)] [(#DATE_REDAC|jour)] [(#DATE_REDAC|nom_mois)]
</BOUCLE_date_des_articles_du_jour>
     <br>#SURTITRE :
     <a href="#URL_ARTICLE">#TITRE</a>"
</BOUCLE_dates_proch>

--

Olivier G.
http://talath.no-ip.info/~carmine/blog/dotclear/index.php/

Merci pour la proposition, mais malheureusement cela ne change rien!
Chaque date (identique) continue à s'afficher.
Est-ce possible en SPIP ou faut-il passer par du PHP, parce que dans ce cas-là je déclare forfait!

Geoffroy

Le 28 sept. 2004, à 00:11, Olivier GENDRIN a écrit :

sb052748@skynet.be wrote:

Bonjour à tous!
Sur la première page du site, je voudrais indiquer les quatre prochains événements.
Dans la base de données, ce sont des articles dont la date est fixée par la date de publication.
Je fais donc une boucle
<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac}{age_redac<=0}{0,4}>
        [(#DATE_REDAC|nom_jour)] [(#DATE_REDAC|jour)] [(#DATE_REDAC|nom_mois)]
    <br>#SURTITRE :
    <a href="#URL_ARTICLE">#TITRE</a>"
</BOUCLE_dates_proch>
Jusque là tout va bien.
Mais parfois plusieurs événements ont lieu le même jour et donc j'ai une répétition de la date.
Comment pourrais-je avoir plutôt:
Date1
événement1
événement2
Date2
événement3
Date3
événement4
Là je sèche.
Quelqu'un peut m'aider?
Merci!
Geoffroy

Essaie ça :

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac} {age_redac<=0} {0,4}>
<BOUCLE_date_des_articles_du_jour (ARTICLES) {doublons} {age_relatif_redac=0} {par date_redac} {0,1}>
    [(#DATE_REDAC|nom_jour)] [(#DATE_REDAC|jour)] [(#DATE_REDAC|nom_mois)]
</BOUCLE_date_des_articles_du_jour>
    <br>#SURTITRE :
    <a href="#URL_ARTICLE">#TITRE</a>"
</BOUCLE_dates_proch>

--

Olivier G.
http://talath.no-ip.info/~carmine/blog/dotclear/index.php/
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Salut,

Pour annoncer comme tu souhaites, sur mon site annexe :
http://www.marseilletonight.com/agenda.php
j'utilise cette boucle :

<BOUCLE_JOUR0(ARTICLES){id_rubrique=135}{0,1}{age = 0}>
document.write('<b><font face="Arial,Helvetica,sans-serif"
color="#FF9900">[(#DATE|nom_jour|majuscules|addslashes)]&nbsp;[(#DATE|jour|a
ddslashes)]&nbsp;[(#DATE|nom_mois|majuscules|addslashes)]</font></b><br>');
</BOUCLE_JOUR0>
<BOUCLE_ARTICLES0(ARTICLES){id_rubrique=135}{age = 0}>
document.write('<li><font face="Arial,Helvetica,sans-serif"
color="#FFFFFF"><a class="lien"
href="#URL_ARTICLE">[(#TITRE|addslashes)]</a></font></li>');
</BOUCLE_ARTICLES0>

<BOUCLE_JOUR1(ARTICLES){id_rubrique=135}{0,1}{age = -1}>
document.write('<br><br><b><font face="Arial,Helvetica,sans-serif"
color="#FF9900">[(#DATE|nom_jour|majuscules|addslashes)]&nbsp;[(#DATE|jour|a
ddslashes)]&nbsp;[(#DATE|nom_mois|majuscules|addslashes)]</font></b><br>');
</BOUCLE_JOUR1>
<BOUCLE_ARTICLES1(ARTICLES){id_rubrique=135}{age = -1}>
document.write('<li><font face="Arial,Helvetica,sans-serif"
color="#FFFFFF"><a class="lien"
href="#URL_ARTICLE">[(#TITRE|addslashes)]</a></font></li>');
</BOUCLE_ARTICLES1>

Biensur faut enlever les document write....
Par contre sur les dates de fin de mois ça marche mal car spip va chercher
le 32ieme jour du mois
@+

Association Illegal Party loi 1901 à but non lucratif.
Président : Alain ZERAFA
Webmaster : http://www.legalizeparty.com & http://www.illegal-party.com
Illegal Party sur votre téléphone i-mode : http://www.legalizeparty.info &
http://www.illegalparty.info
Annonceurs : http://www.legalizeparty.biz & http://www.illegal-party.biz

----- Original Message -----
From: <sb052748@skynet.be>
To: "Olivier GENDRIN" <olivier.gendrin@free.fr>
Cc: "Spip" <spip@rezo.net>
Sent: Tuesday, September 28, 2004 9:31 AM
Subject: Re: [Spip] Boucle avec gestion des dates

Merci pour la proposition, mais malheureusement cela ne change rien!
Chaque date (identique) continue à s'afficher.
Est-ce possible en SPIP ou faut-il passer par du PHP, parce que dans ce
cas-là je déclare forfait!

Geoffroy

Le 28 sept. 2004, à 00:11, Olivier GENDRIN a écrit :

sb052748@skynet.be wrote:

Bonjour à tous!
Sur la première page du site, je voudrais indiquer les quatre
prochains événements.
Dans la base de données, ce sont des articles dont la date est fixée
par la date de publication.
Je fais donc une boucle
<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par
date_redac}{age_redac<=0}{0,4}>
        [(#DATE_REDAC|nom_jour)] [(#DATE_REDAC|jour)]
[(#DATE_REDAC|nom_mois)]
    <br>#SURTITRE :
    <a href="#URL_ARTICLE">#TITRE</a>"
</BOUCLE_dates_proch>
Jusque là tout va bien.
Mais parfois plusieurs événements ont lieu le même jour et donc j'ai
une répétition de la date.
Comment pourrais-je avoir plutôt:
Date1
événement1
événement2
Date2
événement3
Date3
événement4
Là je sèche.
Quelqu'un peut m'aider?
Merci!
Geoffroy

Essaie ça :

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac}
{age_redac<=0} {0,4}>
<BOUCLE_date_des_articles_du_jour (ARTICLES) {doublons}
{age_relatif_redac=0} {par date_redac} {0,1}>
    [(#DATE_REDAC|nom_jour)] [(#DATE_REDAC|jour)]
[(#DATE_REDAC|nom_mois)]
</BOUCLE_date_des_articles_du_jour>
    <br>#SURTITRE :
    <a href="#URL_ARTICLE">#TITRE</a>"
</BOUCLE_dates_proch>

--

Olivier G.
http://talath.no-ip.info/~carmine/blog/dotclear/index.php/
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

sb052748@skynet.be wrote:

Merci pour la proposition, mais malheureusement cela ne change rien!
Chaque date (identique) continue à s'afficher.
Est-ce possible en SPIP ou faut-il passer par du PHP, parce que dans ce cas-là je déclare forfait!

Geoffroy

Le 28 sept. 2004, à 00:11, Olivier GENDRIN a écrit :

>>............

Essaie ça :

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac} ...

Bonjour

Pour un calendrier, afin de n'afficher qu'une fois le mois et l'année pour toutes les évènements du mois j'ai fait comme ci-dessous. Tu dois pouvoir t'en inspirer, (comme je l'ai fait moi même à partir d'un tutoriel dont j'ai maleureusement perdu le signet).

Il doit bien y avoir un moyen avec les boucles seules (c'est dans mon "todo" pour avant-hier :wink: )

<?php $mois=""; $an=""; ?>
<BOUCLE_calendrier(ARTICLES){tout}{par date_redac}{age_redac<=0}>
<?php
$lan="[(#DATE_REDAC|annee)]";
$lemois="[(#DATE_REDAC|nom_mois)]";
if($lemois!=$mois){
echo "<h3>".$lemois." ".$lan."</h3>";
$mois=$lemois;
} ?>
.......
</BOUCLE_calendrier>

Cordialement

Françoise

Merci Françoise, ça marche!
Voici ma boucle qui s'inspire largement de la tienne:

  <?php
  $date1=""; ?>

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac}{age_redac<=0}{0,5}>
  <?php
  $longueur=strlen('#TEXTE');
  $date2="[(#DATE_REDAC|nom_jour)]"." [(#DATE_REDAC|jour)]"." [(#DATE_REDAC|nom_mois)]";
  if ($date2!=$date1) {
  echo "<BR><BR><i>".$date2."</i>";
  $date1=$date2;
  } ?>
  
<br><FONT COLOR=#006400>#SURTITRE : </FONT>

    <?php
      if ($longueur!="0") {
      echo "<a href=\"#URL_ARTICLE\">#TITRE</a>";
      }
      else {
      echo "<FONT COLOR=#c31522><B>#TITRE</B></FONT>";
      }
      ?>

</BOUCLE_dates_proch>

Geoffroy
http://www.gsenamur.com

Le 28 sept. 2004, à 11:00, Françoise a écrit :

sb052748@skynet.be wrote:

Merci pour la proposition, mais malheureusement cela ne change rien!
Chaque date (identique) continue à s'afficher.
Est-ce possible en SPIP ou faut-il passer par du PHP, parce que dans ce cas-là je déclare forfait!
Geoffroy
Le 28 sept. 2004, à 00:11, Olivier GENDRIN a écrit :

>>............

Essaie ça :

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac} ...

Bonjour

Pour un calendrier, afin de n'afficher qu'une fois le mois et l'année pour toutes les évènements du mois j'ai fait comme ci-dessous. Tu dois pouvoir t'en inspirer, (comme je l'ai fait moi même à partir d'un tutoriel dont j'ai maleureusement perdu le signet).

Il doit bien y avoir un moyen avec les boucles seules (c'est dans mon "todo" pour avant-hier :wink: )

<?php $mois=""; $an=""; ?>
<BOUCLE_calendrier(ARTICLES){tout}{par date_redac}{age_redac<=0}>
<?php
$lan="[(#DATE_REDAC|annee)]";
$lemois="[(#DATE_REDAC|nom_mois)]";
if($lemois!=$mois){
echo "<h3>".$lemois." ".$lan."</h3>";
$mois=$lemois;
} ?>
.......
</BOUCLE_calendrier>

Cordialement

Françoise

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

sb052748@skynet.be wrote:

Merci pour la proposition, mais malheureusement cela ne change rien!
Chaque date (identique) continue à s'afficher.
Est-ce possible en SPIP ou faut-il passer par du PHP, parce que dans ce cas-là je déclare forfait!

Geoffroy

Ok, alors que donne cette boucle ? Est-ce que ID_ARTICLE est le même en cas de dates identiques ?

<BOUCLE_dates_proch(ARTICLES) {id_secteur=11}{par date_redac} {age_redac<=0} {0,4}>
<BOUCLE_date_des_articles_du_jour (ARTICLES) {doublons} {age_relatif_redac=0} {par date_redac} {0,1}>
     #ID_ARTICLE
</BOUCLE_date_des_articles_du_jour>
     <br>#SURTITRE :
     <a href="#URL_ARTICLE">#TITRE</a>"
</BOUCLE_dates_proch>

--

Olivier G.
http://talath.no-ip.info/~carmine/blog/dotclear/index.php/