Aller au contenu

problème d'array


pandrekano

Sujets conseillés

Bonjour à tous,

J'ai inséré le code :

else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'td" bgcolor="#EE3300">';

dans le php de mon calendrier. Je ne vois toujours pas les jours importants colorés ( http://ppzx.net )

<?php
// Ecriture de la 1ere ligne
echo '<tr>';
// Ecriture de colones vides tant que le mois ne demarre pas
for($i = 0 ; $i < $numero_jour1er ; $i++) { echo '<td></td>'; }
for($i = 1 ; $i <= 7 - $numero_jour1er; $i++) {
echo '<td class="';
if(isset($coloreNum) && $coloreNum == $i) echo 'd_jour">';
else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'td" bgcolor="#EE3300">';
else echo 'td">';
echo $i.'</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 class="';
if(isset($coloreNum) && $coloreNum == $i) echo 'd_jour">';
else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'td" bgcolor="#EE3300">';
else echo 'td">';
echo $i.'</td>';
}
else // On a fini d'ecrire le mois on termine le tableau par des cellules vides
{
echo '<td></td>';
}
$i = $i +1;
}
echo '</tr>';
}
?>[/quote]D'après vous, y a-t-il une erreur d'écriture ? de formulation de l'array, de sa place ? Cela fait plusieurs jours que je frappe un mur. Votre aide serait super appréciée !

code total :
[quote]<?php
$tsQuebec = time() - (6*60*60); // = 6 heures = 6 x 60 x 60 secondes
// Enregistrons les informations de date dans des variables

// Si on ne recupere rien dans l'url, on prends la date du jour
if(!$_GET['m'] && !$_GET['y']) $timestamp = mktime(0, 0, 0, date('m'), 1, date('Y'));
// Sinon on recupere la date donnee
else $timestamp = mktime(0, 0, 0, $_GET['m'], 1, $_GET['y']);

// === Si le mois correspond au mois actuel et l'annee 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',$tsQuebec)) $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_important = array( '13_2_2010', '14_2_2010', '20_2_2009', '24_2_2009', '1_3_2009', '15_3_2009', '26_3_2009', '30_3_2009', '8_4_2009', '4_5_2009', '4_5_2009', '13_5_2009', '7_6_2009', '26_6_2009', '14_9_2009', '30_9_2009', '9_10_2009', '10_10_2009', '12_10_2009', '28_12_2009');

$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',$tsQuebec, $timestamp);

// Changement du numero du jour car l'array commence a l'indice 0
if ($numero_jour1er == 0) $numero_jour1er = 6; // Si c'est Dimanche, on le place en 6eme position (apres samedi)
else $numero_jour1er--; // Sinon on mets lundi a 0, Mardi a 1, Mercredi a 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>
<tbody>
<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 1ere ligne
echo '<tr>';
// Ecriture de colones vides tant que le mois ne demarre pas
for($i = 0 ; $i < $numero_jour1er ; $i++) { echo '<td></td>'; }
for($i = 1 ; $i <= 7 - $numero_jour1er; $i++) {
echo '<td class="';
if(isset($coloreNum) && $coloreNum == $i) echo 'd_jour">';
else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'td" bgcolor="#EE3300">';
else echo 'td">';
echo $i.'</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 class="';
if(isset($coloreNum) && $coloreNum == $i) echo 'd_jour">';
else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'td" bgcolor="#EE3300">';
else echo 'td">';
echo $i.'</td>';
}
else // On a fini d'ecrire le mois on termine le tableau par des cellules vides
{
echo '<td></td>';
}
$i = $i +1;
}
echo '</tr>';
}
?>
</tbody>
</table>

Merci d'avance, pandrekano

Modifié par Dudu
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai résolu ce problème avec :

J'ai retenu 'd_important' :

if(isset($coloreNum) && $coloreNum == $i) echo 'd_jour">';

else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'd_important">';

pour aller avec mon Doctype

et j'ai retiré un mois à '.$m[$numero_mois-1].' :

<caption><?php echo '<a href="?m='.$mois_avant.'&y='.$annee_avant.'"><<</a> '.$m[$numero_mois-1].' '.$annee.' <a href="?m='.$mois_apres.'&y='.$annee_apres.'">>></a>'; ?></caption>

Amitiés, pandrekano

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai résolu ce problème avec :

J'ai retenu 'd_important' :

if(isset($coloreNum) && $coloreNum == $i) echo 'd_jour">';
else if(in_array($i . "_" . $numero_mois . "_" . $annee, $d_important)) echo 'd_important">';

pour aller avec mon Doctype

et j'ai retiré un mois à '.$m[$numero_mois-1].' :

<caption><?php echo '<a href="?m='.$mois_avant.'&y='.$annee_avant.'"><<</a>  '.$m[$numero_mois-1].' '.$annee.'  <a href="?m='.$mois_apres.'&y='.$annee_apres.'">>></a>'; ?></caption>

Amitiés, pandrekano

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...