Bonjour tout le monde,

Je dois générer un tableau en PHP.

Le tableau doit être composé comme suit :

- une ligne qui contient une date
- 5 cellules en dessous contenant une tranche horaire
- 5 cellules vide plus bas
- 5 cellules contenant chacune une zone de liste déroulante

Cela fonctionne bien sauf pour la première ligne :

http://chat.developpez.com/upload/7b...5f5b6c04d6.jpg

Voici mon code, sauriez-vous s.v.p. me dire ce qui n'est pas correcte ? :

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
	<?php
	include('../connexion.php');
	include('../Fonctions/Nom_jours.php');
	//je récupère le nombre de jours du mois pour l'annee concernee (j'utilise l'annee car annee bissestile)
	//mktime ==> hour,min,sec,mois,jour,annee
	$nombrejour = date( "t", mktime(0,0,0,intval($_POST['LeMois']),1,intval($_POST['Lannee'])));
	echo $nombrejour;
	//nom du premier jour du mois afin de laisser 2 cases vides si le premier jour du mois est "mercredi"
	$nom_jour = date( "w", mktime(0,0,0,intval($_POST['LeMois']),1,intval($_POST['Lannee'])));
	//echo 'Le premier jour du mois ' . $nom_jour;
	echo '$nom_jour '. $nom_jour;
	//mktime retourne 0 pour le dimanche, je transforme donc le 0 en 7 pour éviter les problèmes dans les calculs
	if($nom_jour == 0)
	{
		$nom_jour = 7;
	}
 
$jours = array ('dimanche', 'lundi', 'mardi', 'mercredi','jeudi','vendredi','samedi','dimanche');
 // pour afficher le jour d'une date autre que celle d'aujourd'hui
 
	//*********************************** Ligne avec la date complète (ex 1er janvier 2010) ***********************
	echo '<table border="1">';
 
	$LeMoisEnLettre = recuperer_nom_mois($_POST['LeMois']);
	//$nom_jour est le premier jour du mois, donc si le 1er janvier est un vendredi, $nom_jour vaut 5
	for($i = 1; $i<= $nombrejour; $i++)
	{
		echo '<tr><td colspan="5" class="td_date"> ';
		$passe = date ('w', mktime (0,0,0,$_POST['LeMois'],$i,$_POST['Lannee']));
		if($i==1) echo $jours[$passe] . ' 1er ' .$LeMoisEnLettre.' '.$_POST['Lannee'];
		else echo $jours[$passe] . ' ' .$i.' '.$LeMoisEnLettre.' '.$_POST['Lannee'];
		echo ' </td></tr>';
 
		//****************************** fin de la ligne avec la date complète ************************************
 
		//***************************** Début de la ligne avec les différentes tranches horaires *****************
		echo '<tr>';
		//compte le nombre de manips, cela me permet d'avoir un programme générique au cas où on ajoute une manip dans le fture
		$count_manips = mysql_result(mysql_query('SELECT COUNT(ID) as nb FROM manips'),0,'nb'); 
		//idem pour les tranches, je compte le nombre de tranches horaires
 
		for($j=1; $j <=$count_tranches;$j++)
		{
			$sql_tranche_horraire = 'SELECT Tranche_horraire FROM tranches_horraires WHERE ID = '.$j;
			$query_tranche_horraire = mysql_query($sql_tranche_horraire);
			$res_tranche = mysql_fetch_array($query_tranche_horraire);
 
			echo '<td width="15%">'.$res_tranche['Tranche_horraire'].'</td>';
 
		}
		echo '</tr>';
		//************************** fin de la ligne avec les tranches horaires ***********************************
 
		//************************* Cellules qui va contenir les réservations (nom, prénom...) ********************
		echo '<tr>';
		for($k=1; $k<=$count_tranches; $k++)
			{
				echo '<td>&nbsp;</td>';
			}
		echo '</tr>';
		//*********************** fin de la ligne de réservation **************************************************
 
		//********************** Début de ligne contenant les listes de sélection avec les différentes manip ******
 
		$count_tranches = mysql_result(mysql_query('SELECT COUNT(ID) as nb FROM tranches_horraires'),0,'nb'); 
		echo '<tr>';
		for($m=1;$m<=$count_tranches;$m++)
		{	
			echo '<td> <select name="select" class="select_manip">';
			for($o=1; $o<=$count_manips;$o++)
			{
				$sql_manips = 'SELECT * FROM manips WHERE ID = '.$o;
				$query_manips = mysql_query($sql_manips);
				$nombre_manips = mysql_num_rows($query_manips);
				$res_manips = mysql_fetch_array($query_manips);
				echo '<OPTION VALUE="'.$res_manips['nom_manip'].'">'.$res_manips['nom_manip'].'</OPTION>';
			}
			echo '</td>';
		}
		echo '</tr>';
		//********************** Fin de ligne contenant les listes de sélection avec les différentes manip ******
 
		/*********************** Début de ligne contenant les listes de sélection avec les responsables ******
		
		$count_tranches = mysql_result(mysql_query('SELECT COUNT(ID) as nb FROM tranches_horraires'),0,'nb'); 
		echo '<tr>';
		for($m=1;$m<=$count_tranches;$m++)
		{	
			echo '<td> <select name="select">';
			for($o=1; $o<=$count_manips;$o++)
			{
				$sql_manips = 'SELECT * FROM manips WHERE ID = '.$o;
				$query_manips = mysql_query($sql_manips);
				$nombre_manips = mysql_num_rows($query_manips);
				$res_manips = mysql_fetch_array($query_manips);
				echo '<OPTION VALUE="'.$res_manips['nom_manip'].'">'.$res_manips['nom_manip'].'</OPTION>';
			}
			echo '</td>';
		}
		echo '</tr>';
		//********************** Fin de ligne contenant les listes de sélection avec les différentes manip *******/
 
	}
	echo '</table>';
 
 
	/*
	//permet de savoir si l'année et le mois sélectionnés sont dans le passé (alors consultation seulement) ou dans le présent (ou futur)
	include('../Fonctions/Annee_mois.php');
	//j'inclus une fonction qui va calculer le nombre de semaines dans un mois.
	include("../Fonctions/Nbre_Semaines_Mois.php");
	//Jours_dans_BD.php vérifie si le jour se trouve déjà dans la bd, si c'est le cas, il prendra la couleur dans le champ de la bd autrement, il mettre blanc par défaut.
	include("../Fonctions/Jours_dans_BD.php");
	//je récupère le nombre de jours du mois pour l'annee concernee (j'utilise l'annee car annee bissestile)
	//mktime ==> hour,min,sec,mois,jour,annee
	$nombrejour = date( "t", mktime(0,0,0,intval($_POST['LeMois']),1,intval($_POST['Lannee'])));
	echo $nombrejour;
	//nom du premier jour du mois afin de laisser 2 cases vides si le premier jour du mois est "mercredi"
	$nom_jour = date( "w", mktime(0,0,0,intval($_POST['LeMois']),1,intval($_POST['Lannee'])));
	echo 'Le premier jour du mois ' . $nom_jour;
	//mktime retourne 0 pour le dimanche, je transforme donc le 0 en 7 pour éviter les problèmes dans les calculs
	if($nom_jour == 0)
	{
		$nom_jour = 7;
	}
	$_SESSION['ok'] = true;
	$Nombre_Semaines_dans_mois = weeksPerMonth($_POST['LeMois'],$_POST['Lannee']);
	//echo 'le nombre de semaine est égale à ' . $Nombre_Semaines_dans_mois;
	//echo 'il y a '. $nombrejour . ' jours dans le mois de ' . $_POST['LeMois'];
	$j=1;
	echo '
	<table id="Tableau_calendrier" border="1" width="80%" border="10" align="center" cellpadding="0">
		<tr>
			<th height="10" width="100" colspan="2">LUNDI</th>
			<th height="10" width="100" colspan="2">MARDI</th>
			<th height="10" width="100" colspan="2">MERCREDI</th>
			<th height="10" width="100" colspan="2">JEUDI</th>
			<th height="10" width="100" colspan="2">VENDREDI</th>
			<th height="10" width="100" colspan="2">SAMEDI</th>
			<th height="10" width="100" colspan="2">DIMANCHE</th>
		</tr>
		<tr>';
			$numero_jour = 1;
			
			//permet de récupérer le nom du user qui pré-réserve
			include('../Fonctions/nom.php');
			
			include('../Premiere_semaine.php');
			include('../Semaines_milieu.php');
			include('../Derniere_semaine.php');
	
	

	
	echo '</tr>';
	echo '</table>';
?>
	<!-- le menu contextuel -->
	<!-- occupe(global_id_jour,'occupe') ==> en cliquant sur un élément du menu, je passe l'ID du jour (l'id complet) et une chaine de caractère qui est libre, occupé ou réservé -->
 
	<div id="menucontextuelOccupe" class="menucontextuel">
	</div>
 
	<div id="menucontextuelLibre" class="menucontextuel">
	</div>
 
	<div id="menucontextuelAnnuler_Reservation" class="menucontextuel">
 
	</div>
 
	<!-- Si Pierre clic droit sur une case orange, il peut soit accepter la réservation, soit refuser la réservation -->
	<div id="menucontextuel_Accepter_Refuser_Reservation" class="menucontextuel">
 
	</div>
 
	<!-- Pour les utilisateurs autre que Pierre Van A. -->
	<div id="menucontextuelProposer_Reservation" class="menucontextuel">
		<!-- il faut réécrire le contenu du div avant d'appeler la fonction "occupe" -->
 
	</div>
 
	<div id="menucontextuelAnnuler_Reservation_2" class="menucontextuel">
		<!-- il faut réécrire le contenu du div avant d'appeler la fonction "occupe" -->
 
	</div>*/
Merci d'avance.

beegees