Calendrier dynamique

YameFAZE Messages postés 201 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

J'ai suivi un tuto sur un site pour réaliser un calendrier dynamique en PHP. C'est plutôt pas mal si on met de côté quelques petits soucis. Certains caractères ne s'affichent pas correctement. Les mois qui devraient être masqués sont tous visibles et l'animation qui affiche le mois demandé ne fonctionne pas bien. Et lorsque le dimanche tombe un 6 le chiffre 7 sort du tableau à droite alors qu'il devrait revenir à la ligne et se fixer au lundi. Ci-dessous tous les éléments.

<script type="text/javascript">
 jQuery(function($) {
  $('.month').hide();
  $('.month:first').show();
  $('months a:first').addClass('active');
  var current = 1;
  $('.months a').click(function() {
   var month = $(this).attr('id').replace('linkMonth', '');
   if(month != current) {
    $('#month'+current).slideUp();
    $('#month'+month).slideDown();
    $('.months a').removeClass('active');
    $('.months a#linkMonth'+month).addClass('active');
    current = month;
   }
   return false;
  });
 });
</script>
<?php
 require('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>
   <?php foreach ($date->months as $id=>$m): ?>
    <li><a href="#" id="linkMonth<?php echo $id+1; ?>"><?php echo utf8_encode(substr(utf8_encode($m),0,3)); ?></a></li>
   <?php endforeach; ?>
  </ul>
 </div>
 <div class="clear"></div>
 <?php $dates = current($dates); ?>
 <?php foreach ($dates as $m=>$days): ?>
  <div class="months" id="month<?php echo $m; ?>">
   <table>
    <thead>
     <tr>
      <?php foreach ($date->days as $d): ?>
       <th><?php echo substr($d,0,3); ?></th>
      <?php endforeach; ?>
     </tr>
    </thead>
    <tbody>
     <tr>
      <?php $end = end($days); foreach ($days as $d=>$w): ?>
       <?php if($d == 1): ?>
        <td colspan="<?php echo $w-1; ?>"></td>
       <?php endif; ?>
       <td>
        <div class="relative">
         <div class="day"><?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; ?>"></td>
      <?php endif; ?>
     </tr>
    </tbody>
   </table>
  </div>
 <?php endforeach; ?>
</div>




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

3 réponses

YameFAZE Messages postés 201 Date d'inscription   Statut Membre Dernière intervention  
 
Personne pour m'aider ?

...
0