Bonjour,

Je suis actuellement en train de créer un calendrier pour réserver des salles.
Je vais faire un calendrier par espace(par exemple Salle des fêtes) et dans cet espace j'ai plusieurs salles(petite,grande,bar..).

J'ai déjà créé le calendrier à la semaine, avec les jours en haut et avec les heures sur la gauche, de 00h a 23h30.
Je l'ai fait avec la balise <table></table> mais le soucis c'est que je veux pouvoir réserver par exemple 4 salles dans l'espace et pour la même heure et le même jour.
J'ai essayé de séparer une cellule (<td> ) en mettant une autre table dedans mais cela ne fonctionne pas..

Pour faire simple voici ma fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
<?php
 
                function calendrier()
                {
                        if(isset($_GET["lundi"])) // Une semaine précise est demandée
                        {
                        $ts = $_GET["lundi"];
                        }
                        else //On prendra la semaine d'aujourd'hui
                        {
                        $day = (date('w') - 1); //Jour dans la semaine... Lundi = 0
                        $diff = $day * 86400; //Différence en secondes par rapport au lundi - exemple : mercredi(2) * 86400 
                        $ts = (mktime() - $diff); //On récupère le TimeStamp du lundi
                        }
    
                        //Initialisation des variables
                        $week = date('W', $ts); //Semaine en cours
                        $avant = $ts - 604800; //TimeStamp Lundi précédant = le ts du lundi - 60sec * 60min * 24h * 7jours
                        $apres = $ts + 604800; //TimeStamp Lundi suivant = le ts du lundi + 60sec * 60min * 24h * 7jours
 
                        echo '<div align="center">';
                        echo '<a href="calendrier.php?lundi='.$avant.'"> Semaines Precedentes </a> - Semaine n°'.$week.' - <a href="calendrier.php?lundi='.$apres.'"> Semaines Suivantes </a>';
                        // On affecte a la page la variable "lundi" en lui donnant comme valeur le timestamp de la semaine d'avant "$avant" ou de la semaine d'après "$apres"
                        echo '</div>';
 
                        echo '<tr>';
                        $jours = array(1 => "Lundi",2 => "Mardi",3 => "Mercredi",4 => "Jeudi",5 => "Vendredi",6 => "Samedi",7 => "Dimanche");
                        
        echo '</tr><tr><td> Jours/<br>Heures</td>';
                        for($i=1;$i<8;$i++) //Pour chaque jour de la semaine... Lundi = 1
                        {                               
                                if( ($i == date('w')) && ($week == date('W')) ) //S'il s'agit d'aujourd'hui, on met le jour en jaune
                                {
                                        echo '<td align="center" style="background-color:yellow"; width="14%"><b>'.$jours[$i].' '.date('d M Y', $ts).'</b></td>';
                                }
                                else // Sinon si c'est pas aujourd'hui on met le jour sans couleur
                                {
                                        echo '<td align="center" width="14%"><b>'.$jours[$i].' '.date('d M Y', $ts).'</b></td>';
                                }
                                $ts = $ts + 86400; //On passe au jour suivant car un jour = 60sec * 60min * 24h
                        }
                        echo '</tr>';
                        
                        echo '<tr>';
                        
      for($heure=0;$heure<24;$heure++) // Boucle pour afficher les heures
                        {
                                echo '<td>'.($heure).'h00</td>'; // Affiche l'heure pleine
                                
                                        for($j=0;$j<7;$j++) // Affiche les cases à séléctionner
                                                {
                                                        echo '<td><input type="checkbox" value=""></input></td>';
                                                }
                                                
                                echo '</tr>';
                                        
                                echo '<td>'.($heure).'h30</td>'; // Affiche l'heure et demie
                                
                                for($j=0;$j<7;$j++) // Affiche les cases à séléctionner
                                        {
                                                echo '<td></td>';
                                        }
                                echo '</tr><tr>';       
                        }
                        
                        echo '</tr></table><div align="center">';
                        
                        echo '<div align="center"><a href="calendrier.php?lundi='.$avant.'"> Semaines Precedentes </a> - Semaine n°'.$week.' - <a href="calendrier.php?lundi='.$apres.'"> Semaines Suivantes </a>';
                        // On affecte a la page la variable "lundi" en lui donnant comme valeur le timestamp de la semaine d'avant "$avant" ou de la semaine d'après "$apres"
                        echo '</div>';                  
        }
?>
Donc mon problème serait de séparer la colonne "Lundi" en plusieurs parties.

J'ai pensé le faire en important un tableau excel, mais cela est-il possible ?
Faut-il que je le fasse en JavaScript ? Ou continuer en html/php ?

Merci de vos réponses (constructives )

Napalm