Bonjour à tous,
J'ai un site avec un calendrier sur la page d'accueil.
Tout va très bien, mais je voudrais savoir comment fait-on pour que les jours dans un array puissent devenir colorés (avec le CSS) ?
est-ce que quelqu'un pourrait m'aider
merci d'avance
Voici la page d'exemple avec un calendrier et des jours colorés et 2, en-dessous le calendrier sur lequel je travaille:
http://ppzx.net/rv/ad.php5
Maintenant, voici les codes de l'array et du calendrier
1- l'array
2- Le calendrier :Code : PHP
Si quelqu'un veut bien m'aider, j'en serais très heureux.
Amitiés, pierreandre
Modifié par pierreandre (09 Feb 2009 - 23:33)
J'ai un site avec un calendrier sur la page d'accueil.
Tout va très bien, mais je voudrais savoir comment fait-on pour que les jours dans un array puissent devenir colorés (avec le CSS) ?
est-ce que quelqu'un pourrait m'aider
merci d'avance
Voici la page d'exemple avec un calendrier et des jours colorés et 2, en-dessous le calendrier sur lequel je travaille:
http://ppzx.net/rv/ad.php5
Maintenant, voici les codes de l'array et du calendrier
1- l'array
$d_importantes = array('13_10_2008',
'24_10_2008',
'28_10_2008');
2- Le calendrier :Code : PHP
<?php
$tsQuebec = time() - (6*60*60); // = 6 heures = 6 x 60 x 60 secondes
// Enregistrons les informations de date dans des variables
$jour = date('d',$tsQuebec);
$mois = date('m',$tsQuebec);
$annee = date('Y',$tsQuebec);
$heure = date('H',$tsQuebec);
$minute = date('i',$tsQuebec);
?>
<?php
// Si on ne récupère rien dans l'url, on prends la date du jour
if(!$_GET['m'] && !$_GET['y']) $timestamp = mktime(0, 0, 0, date('m',$tsQuebec), 1, date('Y'));
// Sinon on récupère la date donnée
else $timestamp = mktime(0, 0, 0, $_GET['m'], 1, $_GET['y']);
// === Si le mois correspond au mois actuel et l'année aussi, on retient le jour actuel pour le griser plus tard (sinon le jour actuel ne se situe pas dans le mois)
if(date('m', $timestamp) == date('m',$tsQuebec) && date('Y', $timestamp) == date('Y')) $coloreNum = date('d',$tsQuebec);
$m = array("01" => "Janvier", "02" => "Février", "03" => "Mars", "04" => "Avril", "05" => "Mai", "06" => "Juin", "07" => "Juillet", "08" => "Août", "09" => "Septembre", "10" => "Octobre", "11" => "Novembre", "12" => "Décembre");
$j = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
$d_importantes = array('13_2_2008',
'24_2_2008',
'28_12_2008');
$numero_mois = date('m', $timestamp);
$annee = date('Y', $timestamp);
if($numero_mois == 12) {
$annee_avant = $annee;
$annee_apres = $annee + 1;
$mois_avant = $numero_mois - 1;
$mois_apres = 01;
}
elseif($numero_mois == 01) {
$annee_avant = $annee - 1;
$annee_apres = $annee;
$mois_avant = 12;
$mois_apres = $numero_mois + 1;
}
else {
$annee_avant = $annee;
$annee_apres = $annee;
$mois_avant = $numero_mois - 1;
$mois_apres = $numero_mois + 1;
}
// 0 => Dimanche, 1 => Lundi, 2 = > Mardi...
$numero_jour1er = date('w', $timestamp);
// Changement du numéro du jour car l'array commence à l'indice 0
if ($numero_jour1er == 0) $numero_jour1er = 6; // Si c'est Dimanche, on le place en 6ème position (après samedi)
else $numero_jour1er--; // Sinon on mets lundi à 0, Mardi à 1, Mercredi à 2...
?>
<table>
<caption><?php echo '<a href="?m='.$mois_avant.'&y='.$annee_avant.'"><<</a> '.$m[$numero_mois].' '.$annee.' <a href="?m='.$mois_apres.'&y='.$annee_apres.'">>></a>'; ?></caption>
<tr><th>Lu</th><th>Ma</th><th>Me</th><th>Je</th><th>Ve</th><th>Sa</th><th>Di</th></tr>
<?php
// Ecriture de la 1ère ligne
echo '<tr>';
// Ecriture de colones vides tant que le mois ne démarre pas
for($i = 0; $i < $numero_jour1er; $i++) { echo '<td></td>'; }
for($i = 1; $i <= 7 - $numero_jour1er; $i++) {
echo '<td><div class="';
if(isset($coloreNum) && $coloreNum == $i) echo 'lienCalendrierJour">';
else echo 'lienCalendrier">';
echo $i.'</div></td>';
}
echo '</tr>';
$nbLignes = ceil((date('t', $timestamp) - ($i-1))/ 7); // Calcul du nombre de lignes à afficher en fonction de la 1ère (surtout pour les mois a 31 jours)
for($ligne = 0; $ligne < $nbLignes; $ligne++) {
echo '<tr>';
for($colone = 0; $colone < 7; $colone++) {
if($i <= date('t', $timestamp)) {
echo '<td><div class="';
if(isset($coloreNum) && $coloreNum == $i) echo 'lienCalendrierJour">';
else echo 'lienCalendrier">';
echo $i.'</div></td>';
if(in_array($timestamp_jour, $d_important)) echo '$d_important">';
}
else {
echo '<td></td>';
}
$i = $i +1;
}
echo '</tr>';
}
?>
</table>
Si quelqu'un veut bien m'aider, j'en serais très heureux.
Amitiés, pierreandre
Modifié par pierreandre (09 Feb 2009 - 23:33)