Filtre sur date

Bonjour,

j'ai un petit problème lors d'un filtre sur une date.

Ci dessous le code :
<BOUCLE_liste(ARTICLES){id_rubrique}{par date}>
<?php
  $dateArt = "#DATE";
  $anneeArt = [(#DATE|annee)];
  $moisArt = [(#DATE|mois)];
  echo "<!-- $dateArt, $moisArt/$anneeArt, -->";
  if (<condition>)
  {
?>
[(#DATE|jour|jour_gr)]/[(#DATE|mois)]/[(#DATE|annee)]
<?php } ?>
</BOUCLE_liste>

Et voila le source html généré :
...
<!-- 2006-05-20 ::00, 5/2006, 1/1970-->
20/05/2006
<!-- 2006-06-14 ::00, 6/2006, 6/2006-->
16/06/2006
<!-- 2006-08-30 ::00, 0/2006, 10/2006-->
30/08/2006
<!-- 2006-09-14 ::00, 0/2006, 1/1970-->
14/09/2006
...

On voit bien l'erreur sur les 2 derniers : le mois retourné est 0 ! Alors que l'affichage est le bon.

Une idée ?

Merci

--
Yann Bouilhac

Yann Bouilhac a écrit :

Bonjour,

j'ai un petit problème lors d'un filtre sur une date.

Ci dessous le code :
<BOUCLE_liste(ARTICLES){id_rubrique}{par date}>
<?php
  $dateArt = "#DATE";
  $anneeArt = [(#DATE|annee)];
  $moisArt = [(#DATE|mois)];
  echo "<!-- $dateArt, $moisArt/$anneeArt, -->";
  if (<condition>)
  {
?>
[(#DATE|jour|jour_gr)]/[(#DATE|mois)]/[(#DATE|annee)]
<?php } ?>
</BOUCLE_liste>

Et voila le source html généré :
...
<!-- 2006-05-20 ::00, 5/2006, 1/1970-->
20/05/2006
<!-- 2006-06-14 ::00, 6/2006, 6/2006-->
16/06/2006
<!-- 2006-08-30 ::00, 0/2006, 10/2006-->
30/08/2006
<!-- 2006-09-14 ::00, 0/2006, 1/1970-->
14/09/2006
...

On voit bien l'erreur sur les 2 derniers : le mois retourné est 0 ! Alors que l'affichage est le bon.

Une idée ?

Merci

Je précise que cela ne se produit que pour les mois d'Août et de Septembre. Etrange...

PS : vous aurez noter l'erreur du source HTML qui affiche également la date de création en commentaire (j'ai simplifié le code SPIP pour plus de faciliter)

--
Yann Bouilhac

Yann Bouilhac a écrit :

Yann Bouilhac a écrit :
  

Bonjour,

j'ai un petit problème lors d'un filtre sur une date.

Ci dessous le code :
<BOUCLE_liste(ARTICLES){id_rubrique}{par date}>
<?php
  $dateArt = "#DATE";
  $anneeArt = [(#DATE|annee)];
  $moisArt = [(#DATE|mois)];
  echo "<!-- $dateArt, $moisArt/$anneeArt, -->";
  if (<condition>)
  {
?>
[(#DATE|jour|jour_gr)]/[(#DATE|mois)]/[(#DATE|annee)]
<?php } ?>
</BOUCLE_liste>

Et voila le source html généré :
...
<!-- 2006-05-20 ::00, 5/2006, 1/1970-->
20/05/2006
<!-- 2006-06-14 ::00, 6/2006, 6/2006-->
16/06/2006
<!-- 2006-08-30 ::00, 0/2006, 10/2006-->
30/08/2006
<!-- 2006-09-14 ::00, 0/2006, 1/1970-->
14/09/2006
...

On voit bien l'erreur sur les 2 derniers : le mois retourné est 0 ! Alors que l'affichage est le bon.

Une idée ?

Merci

Je précise que cela ne se produit que pour les mois d'Août et de Septembre. Etrange...

PS : vous aurez noter l'erreur du source HTML qui affiche également la date de création en commentaire (j'ai simplifié le code SPIP pour plus de faciliter)

Essaye

$moisArt = (int) '[(#DATE|mois)]'; // transforme date en entier

Ca devrait le faire.

Philippe

PAvi a écrit :

Yann Bouilhac a écrit :

Yann Bouilhac a écrit :

Bonjour,

j'ai un petit problème lors d'un filtre sur une date.

Ci dessous le code :
<BOUCLE_liste(ARTICLES){id_rubrique}{par date}>
<?php
    $dateArt = "#DATE";
    $anneeArt = [(#DATE|annee)];
    $moisArt = [(#DATE|mois)];
    echo "<!-- $dateArt, $moisArt/$anneeArt, -->";
    if (<condition>)
    {
?>
[(#DATE|jour|jour_gr)]/[(#DATE|mois)]/[(#DATE|annee)]
<?php } ?>
</BOUCLE_liste>

Et voila le source html généré :
...
<!-- 2006-05-20 ::00, 5/2006, 1/1970-->
20/05/2006
<!-- 2006-06-14 ::00, 6/2006, 6/2006-->
16/06/2006
<!-- 2006-08-30 ::00, 0/2006, 10/2006-->
30/08/2006
<!-- 2006-09-14 ::00, 0/2006, 1/1970-->
14/09/2006
...

On voit bien l'erreur sur les 2 derniers : le mois retourné est 0 ! Alors que l'affichage est le bon.

Une idée ?

Merci

Je précise que cela ne se produit que pour les mois d'Août et de Septembre. Etrange...

PS : vous aurez noter l'erreur du source HTML qui affiche également la date de création en commentaire (j'ai simplifié le code SPIP pour plus de faciliter)

Essaye

$moisArt = (int) '[(#DATE|mois)]'; // transforme date en entier

Ca devrait le faire.

Philippe

Effectivement ça le fait. Même si je ne comprends toujours pas pourquoi cela ne fonctionnait pas avec août et septembre uniquement.

Merci bien.

--
Yann