Bonjour à tous le monde.
Je rencontre un petit souci avec le tuto sur le calendrier.
Les jours lundi, mardi, mercredi, jeudi, vendredi, samedi et dimanche ne corresponde pas d'ans l’affichage de mon calendrier.
Voici la page avec le problème Probléme sur tout les calendriers.
Donc les jours de la semaine ne corresponde pas par rapport au chiffres.
Par exemple 01 le lundi 02 le mardi est hop nous passons directement à 03 dimanche exemple.
Ah oui j'allai oublié sur le 8éme calendrier j'ai aussi un problème il me rajoute 5 <td></td> avec un chiffre 7 dans le premier <td></td>.

voici le code d'affichage

<?php
require('./global/date.php');
$date = new Date();
$year = date('Y');
$dates = $date->getAll($year);
?>
<div class="periods">
    <div class="year"><?php echo $year; ?></div>
        <div class="months">
            <ul class="UlMois">
                <?php foreach($date->months as $id=>$m): ?>
                <li class="LiMois"><a href="#" class="mois" id="linkMonth<?php echo $id+1; ?>"><?php echo utf8_encode(substr(utf8_decode($m),0,3)); ?></a></li>
                <?php endforeach; ?>
            </ul>
       </div>
      <?php $dates = current($dates); ?>
    <?php foreach ($dates as $m=>$days): ?>
    <div class="month" id="month<?php echo $m; ?>">
        <table>
            <thead class="JourSemaine">
                <tr>
                    <?php foreach($date->days as $d): ?>
                    <th class="JourDit"><?php echo substr($d,0,3); ?></th>
                    <?php endforeach; ?>
                </tr>
            </thead>
            <tbody class="JourChiffrre">
                <tr>
                <?php $end = end($days); foreach ($days as $d=>$w): ?>
                    <?php if($d == 1): ?>
                    <td colspan="<?php $w-1; ?>" class="padding"></td>
                    <?php endif; ?>
                    <td class="centrageChiffre">
                        <div class="relative">
                            <div class="days"><?php echo $d; ?></div>
                        </div>
                    </td>
                    <?php if($w == 7): ?>
                </tr><tr>
                    <?php endif; ?>
                <?php endforeach; ?>
                <?php if($end != 7): ?>
                    <td colspan="<?php echo 7-$end; ?>" class="padding"></td>
                <?php endif; ?>
                </tr>
            </tbody>
        </table>
    </div>
     <?php endforeach; ?>
    </div>
<pre>
<?php print_r($days); ?>
</pre>

Est voici le code de la function require('');

<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 * Description of date
 *
 * @author Demeter
 */
class Date {
    var $days = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi','Samedi', 'Dimanche');
    var $months = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Dècembre');
    function getAll($year){
        $r = array();
        $date = strtotime($year.'-01-01');
        while (date('Y', $date)<=$year){
        $Y = date('Y', $date);
        $n = date('n', $date);
        $d = date('j', $date);
        $w = str_replace('0', '7', date('w', $date));
        $r$Y]$n]$d] = $w;
        $date = strtotime(date('Y-n-d', $date).' +1 DAY');
        }
        return $r;
    }
}
?>

Si vous auriez une petite lumière pour moi j'en serais très heureux.
Merci d'avance Demeter.

3 réponses


Demeter
Auteur
Réponse acceptée

Bonsoir dutbas
Je te remercie de ta réponse j'ai tester mais cela ne donne pas le bon résultat nom plus.
Mais cela dit je vais recommencer a zéro je trouverais certainement pourquoi cela ne fonctionne pas.
Aller je ferme le sujet merci encore de ton aide.

Demeter
Auteur

Personne pour me donner une petite piste merci d'avance.

Bonsoir,

Je pense que tu as un problème sur cette ligne :

<td colspan="<?php $w-1; ?>" class="padding"></td>

Moi j'écrirai :

<?php echo'<td colspan="'.$w-1.'" class="padding"></td>'; ?>

BD