Calendrier annuel, surligné jours en fonction d'une table

Signaler
Messages postés
26
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
17 mars 2008
-
Messages postés
10
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
21 février 2011
-
Bonjour à tous,

J'ai un petit problème dans l'élaboration d'un calendrier annuel. J'aimerais pouvoir faire ressortir les jours où une personne a eu un arrêt. Je vais dabord présenter le code et ensuite je poserai mon problème.

<?php
// Récuperation des variables passées, on donne l'année
if(!isset($_GET['annee'])) $num_an = date("Y"); else $num_an = $_GET['annee'];

// tableau des mois...
$tab_mois = array("","Janv.","Fevr.","Mars","Avri.","Mai","Juin","Juil.","Aout","Sept.","Octo.","Nove.","Dece.");

 // tab_cal[Jour du mois][mois]
$tab_cal = array(array(),array(),array(),array(),array(),array());
?>

<html>
<head><title>Calendrier</title>
</head>

    //création des liens pour pouvoir naviguer entre les différentes années
    ----
">&lt;&lt;&nbsp;&nbsp;<?php echo $num_an;  ?>&nbsp;&nbsp;">>>,

   
    <?php
   
    //affichage du nom des mois
    echo'----
';
    for($i = 1; $i <= 12; $i++)
    {
        echo('  '.$tab_mois[$i].' , ');
    }
    echo'';
   
   
    //affichage des jours
    for($i=1;$i<31;$i++)
    {
        echo \"----
\";
        for($j=01;$j<13;$j++)
        {
            //initialisation des variables(i étant la valeur du jour et j la valeur du mois)
            $num_jour=$i;
            $num_mois=$j;
           
            //si la valeur du jour < 10 alors rajouter un 0 devant cette valeur
            if($num_jour < 10)
                $num_jour='0'.$num_jour ;
            else
                $num_jour=$num_jour ;
           
            //si la valeur du mois < 10 alors rajouter un 0 devant cette valeur
            if($num_mois < 10)
                $num_mois='0'.$num_mois ;
            else
                $num_mois=$num_mois ;
               
            //requete sql sélectionnant les arrets d'une personne
            $requeteDate =\"SELECT numero_arret, numero_personne, date_arret FROM  arret WHERE numero_personne='1'\";           
            $resultatDate = mysql_query($requeteDate);
            $si_arret.='';
            while ($donnees = mysql_fetch_object($resultatDate))
            {
                list($date_annee, $date_mois, $date_jour ) = explode('-', $donnees->date_arret);
                               $si_arret (($num_mois $date_mois && $num_an == $date_annee && $num_jour == $date_jour)?' style=\"color: #FFFFFF; background-color: #000000;\"':null);
            }
           
            //afiichage de mon tableau en fontion des different arret de la personne
            echo \"".((strpos($num_jour,"*")!==false)?''.str_replace("*","",$num_jour).'':$num_jour).", \";
        }   
        echo \"\";
    }
   
?>

</html>

Mon problème est au niveau de la colorisation des jours d'arrêt, en effet, mon affichage des jours de chaque mois se fait dans le dernier "echo" et il devrait aussi surligner tous les jour d'arrêt mais en fait ici il surligne seulement le dernier jour d'arrêt. Je ne peux pas intégrer cet "echo" dans mon while... Si quelqu'un a une idée sur la marche à suivre cela m'intéresserais énormément

1 réponse

Messages postés
10
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
21 février 2011

Salut, je ne suis que débutant aussi mais il faudrit simplement, je pense, mettre ton echo dans ton while ;)

En esperant que cela auras pu t'aider ^^



.oO° Ryo Saeba [SG1}- °Oo.
-=; "La chance souris aux esprits avertis" ;=-