Calendrier dynamique

Fermé
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 - Modifié le 1 mars 2019 à 11:16
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 1 mars 2019 à 20:10
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 mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
1 mars 2019 à 18:03
Personne pour m'aider ?

...
0