Calendrier - probleme !

Résolu
xavier1707 Messages postés 3 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 4 avril 2006 - 4 avril 2006 à 10:14
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 - 4 avril 2006 à 10:40
bonjour,

je souhaite créer un calendrier sur une page en php... pour afficher le mois en cours, pas de problème, tout se passe bien...

par contre, la liste déroulante qui devrait permettre de changer le mois affiché ne fonctionne pas du tout : quelle que soit l'option que je choisis, le calendrier reste au mois d'avril 2006

vous pouvez voir de vous même le problème à cette adresse : http://xavweb1707.free.fr/webplanner/agenda.php

j'inclus ci dessous le code de ma page :
<?
echo "<form action ='$PHP_SELF' method='post'>"; echo '<select name "instant" size "1">';
$date_inf = mktime(0,0,0,date("n")-6, date("j"), date("Y"));
$date_sup = mktime(0,0,0,date("n")+12, date("j"), date("Y"));

$monthes_fr = array('', 'Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$days_fr = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche');
for ($variable_mois -6, $variable_tableau date("n", $date_inf) ; $variable_mois <= 12 ; $variable_mois++, $variable_tableau++) {if ($variable_tableau 13) $variable_tableau 1 ;

$chronos = mktime(0,0,0, date("n") + $variable_mois, date("j"), date("Y")) ;
echo "<option value ='$chronos'" ;
if (!$variable_mois) echo ' SELECTED' ;

$mois_courant = $monthes_fr["$variable_tableau"] ;
$an_courant = date("Y", $chronos) ;
echo ">$mois_courant ${an_courant}</option>";
}
echo "</select>" ;
echo "</form>" ;

if (!$instant){
$instant = mktime(0,0,0, date("n"), date("j"), date("Y")) ;
}

$mois = date ("n", "$instant");
$mois_en_franc = $monthes_fr["$mois"];
$annee = date("Y", "$instant");
$taille_calendrier = "40%" ;

echo "$mois_en_franc $annee, \" ;
echo \"----
\" ;

for ($i = 0 ; $i < 7 ; $i++) {
echo \"".$days_fr[$i].", \" ;
}

echo \"\" ;
for ($jours 0, $cellules 1 ; $cellules < 36 ; $cellules++) {
$jour_semaine = $cellules%7 ;

if ($jour_semaine == 1) echo \"----
\" ;
// la ligne commence le lundi //

if ( date(\"j\") == $jours && date(\"n\") == $mois && date(\"Y\") == $annee) {
echo \"";
}
//si ce jour est aujourd'hui, la case est colorée //

else {
echo ", \" ;
}

if ($cellules < 8 && $jour_semaine == date(\"w\", mktime(0,0,0, $mois, 1, $annee))) {
$jours = 1 ;
}

//cette condition initalise la variable jours //

if ($jours > 0 && $jours <= date(\"t\", $instant)) {
echo $jours ;
}
else {
echo \"&nbsp;\" ;
}

echo \"</TD>\" ;
if ($jour_semaine == 0) echo \"\" ;
// le dimanche finit la ligne //

if ($jours > 0) $jours++ ;

if (date (\"t\", $instant) == $jours && $jour_semaine == 0) {
break ;
}
// si le nombre de jours dans le mois est atteint, on s'arrête
// ce test permet d'éviter une ligne vide, en février par exemple
}

echo "
" ;

?>

si quelqu'un a une idée... ?
merci d'avance !

Xavier

6 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 avril 2006 à 10:21
Hello,

il faudrait peut-être voir à soumettre le formulaire, quand on sélectionne un mois ?
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 10:27
$chronos = mktime(0,0,0, date("n") + $variable_mois, date("j"), date("Y")) ;

date("n") --> tu es sur de ça ?
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 10:29
date("m") --> mois
date("d") --> jour
date("Y") --> année
0
xavier1707 Messages postés 3 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 4 avril 2006
4 avril 2006 à 10:33
décidément c'était tout bête !

merci beaucoup !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xavier1707 Messages postés 3 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 4 avril 2006
4 avril 2006 à 10:37
$chronos = mktime(0,0,0, date("n") + $variable_mois, date("j"), date("Y")) ;

date("n") --> tu es sur de ça ?

date("m") --> mois

date("d") --> jour

date("Y") --> année

en fait
date("m") --> mois avec adjonction de 0 (janvier 01, février 02, etc)

tandis que
date("n") --> mois sans adjonction de 0 (janvier 1, février 2, etc)

donc le 2ème est plus pratique à utiliser en indice pour les boucles etc
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 10:40
ok merci
0
Rejoignez-nous