bonjour à tous,
je vient demander de l'aide pour la création d'un calendrier.
voila mon souci j'ai réussi a faire mon calendrier mais j'ai un petit problème
quand j'arrive sur la page d'index ( j'arrive sur le site ) je voit l'année mais pas le mois mais si je clique sur les onglets mois suivant ou mois précédent le mois est bien la.
Voici mon code :
Voila ce que m'indique PHP :
Un peu d'aide serait la bienvenue !!
Modifié par Viva (01 May 2008 - 17:11)
je vient demander de l'aide pour la création d'un calendrier.
voila mon souci j'ai réussi a faire mon calendrier mais j'ai un petit problème
quand j'arrive sur la page d'index ( j'arrive sur le site ) je voit l'année mais pas le mois mais si je clique sur les onglets mois suivant ou mois précédent le mois est bien la.
Voici mon code :
<?php
$liste_mois = Array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
function afficherCalendrier($mois = 0 , $annee = 0)
{
global $liste_mois;
if ($mois == 0)
{
$mois = date('m');
}
if ($annee == 0)
{
$annee = date('Y');
}
if ($mois <= 12 AND $mois >=1)
{
if (strlen($annee) == 4)
{
$jours = Array('Mon','Tue','Wed','Thu','Fri','Sat','Sun');
$time_1er = mktime(0,0,0,$mois,1,$annee);
$jour_1er = date('D',$time_1er);
$nbrJours = date('t',$time_1er);
echo"<div style=\"width:191px; text-align:center; font-family:arial; font-size:12px; padding-top:5px;padding-bottom:5px;\">";
echo"<a style=\"text-decoration:none; color:black;\" href=\"index.php?mois=".($mois-1)."&annee=$annee\">«</a>";
echo" ".$liste_mois[$mois]." $annee ";
echo"<a style=\"text-decoration:none; color:black;\" href=\"index.php?mois=".($mois+1)."&annee=$annee\">»</a>";
echo"</div>";
echo '<div id="conteneurcalendar">
<div id="conteneurjour">
<div class="float1">Lu</div>
<div class="float1">Ma</div>
<div class="float1">Me</div>
<div class="float1">Je</div>
<div class="float1">Ve</div>
<div class="float1">Sa</div>
<div class="float1">Di</div>
<div class="clear"></div>
</div>';
$jour_courant = 0;
echo '<div id="conteneurdate">';
while ($jour_courant <= date('t',$time_1er))
{
for ($i = 0; $i < 7; $i++)
{
$cle = NULL;
if ($jour_courant < $nbrJours)
{
if ($jour_courant == 0)
{
if ($jours[$i] == $jour_1er)
{
$jour_courant++;
$cle = $jour_courant;
}
}
else
{
$jour_courant++;
$cle = $jour_courant;
}
}
else
{
$jour_courant++;
}
// avant tout, vu que je gere avec des css, on determine (pour le jour qu'on est entrain d'afficher)
// la class d'un jour qui n'a ni news, et qui n'est pas le jour d'aujourd'hui
$cssJour="noir";
if($i>4)$cssJour="weekend";
// on matte si c'est le jour d'aujourd'hui pour lui mettre la class bleu
if($cle==@date('d') && $mois==@date('m') && $annee==@date('Y')){
if($i>4)$cssJour="weekendRouge";
else $cssJour="rouge";
}
//avant d'afficher le n° du jour (echo '<div>'.$cle.'</div>';) il faut matter dans la bdd, si il y une news a cette date
//donc soit tu gere les date avec des mktime, donc il faut calculer le timestamp du jour qu'on est entrain d'afficher
$date_news=mktime(0,0,0,$mois,$cle,$annee);
//sinon, si ont les genre en caractere
//$date_news=$cle."/".$mois."/".$annee;
//ensuite on fait la requete
$r_news=mysql_query("SELECT id,titre,description FROM calendar WHERE date='$date_news'");
//pis on regarde si le resultat est >0, et si c'est le cas, on change la css par la class rouge
if(@mysql_numrows($r_news)>0)$cssJour="bleu";
// et enfin on affiche la cellule du tableau (avec la css qui correspond
echo'<div class="'.$cssJour.' float">';
if(@mysql_numrows($r_news)>0)
echo'<a class="info" href="affnews.php?news_id='.mysql_result($r_news,0,"id").'">';
echo"$cle";
if(@mysql_numrows($r_news)>0)
echo"<span><b>Titre</b> : <br /><i>".mysql_result($r_news,0,"titre")."</i><br /><br /> <b>Message :</b><br /><i>".mysql_result($r_news,0,"description")."</i></span>";
if(@mysql_numrows($r_news)>0)echo"</a>";
echo"</div>";
}
//voila dans ce cas, le jour actuel est en bleu sauf s'il a une news il devient rouge comme les autres
//echo'</div>';
echo"<div class='clear'></div>";
}
echo '</div>';
echo '</div>';
}
else
{
echo 'Année sur 4 chiffres';
}
}
else
{
echo 'Mois ERRONNE';
}
}
if(!empty($_GET['annee'])){
$mois=$_GET['mois'];
$annee=$_GET['annee'];
if($mois==13){
$mois=1;
$annee++;
}
if($mois==0){
$mois=12;
$annee--;
}
}else{
$mois = date("m");
$annee = date("Y");
}
afficherCalendrier($mois,$annee);
?>
Voila ce que m'indique PHP :
Notice: Undefined index: 05 in c:\program files\easyphp1-8\www\buz\look.php on line 31
Un peu d'aide serait la bienvenue !!
Modifié par Viva (01 May 2008 - 17:11)