Calendrier annuel, surligné jours en fonction d'une table
rouskard
Messages postés26Date d'inscriptionmardi 26 février 2008StatutMembreDernière intervention17 mars 2008
-
7 mars 2008 à 00:46
RyoSaebaSG1
Messages postés10Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention21 février 2011
-
21 févr. 2011 à 08:45
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
----
"><< <?php echo $num_an; ?> ">>>,
<?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
A voir également:
Calendrier annuel, surligné jours en fonction d'une table