Bonjour,

j'ai créé un agenda qui affiche une date envoyée par post + les 3 jours avant et après celle-ci. Une colonne par jour, et pour chaque colonne, j'affiche les heures par demi-heures entre 8h et 22h.
Mon problème, est de placer les données évènements provenant de ma base de donnée à la bonne place dans les colonnes. Je crée un tableau avec tous les enregistrements, mais après, je ne sais pas comment l'utiliser. Avant ça, j'avais aussi essayé de placer directement les requêtes sql dans ma boucle d'affichage, mais là non plus,je n'ai pas réussi à afficher correctement les données. Quelle est la bonne tactique à adopter pour ce type d'affichage? Voici mon code:

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
 
			// REQUETE SQL-----------------------------
			$sql ="SELECT * FROM evenements";
			$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
			//tableau contenant toutes les donnees
			$donnees=array();
			while ($data=mysql_fetch_assoc($req)){array_push($donnees ,$data);}
			//DONNEES UTILISATEUR
			echo '<td  colspan="2" style="text-align:right;padding-top:3px;padding-left:13px;"><form action="accueil.php"><input type="submit" value ="Déconnecter" name="deconnect"></form></td>';
			echo'</tr>';
			//récupération de la date du formulaire
			if(isset($_POST['jour']) && isset($_POST['mois']) && isset($_POST['an'])) {
				$jour=$_POST['jour'];
				$mois=$_POST['mois'];
				$an=$_POST['an'];
				//AFFICHAGE DATES affiche le $jour choisi + 3 jours avant  et 3 jours après
				echo '<tr>';
				for($i=$jour-3;$i<$jour+4;$i++){
					$dateDebut  = mktime(0, 0, 0, $mois ,$i, $an);
					$date=$tabjour[date('D',$dateDebut)].' '.date('d',$dateDebut).' '.$tabmois[date('n',$dateDebut)].' '.date('Y',$dateDebut);
					if ($tabjour[date('D',$dateDebut)]=='Samedi'||$tabjour[date('D',$dateDebut)]=='Dimanche'){
						echo '<td style= " text-align:center;font-size:10pt;width: 14%;border:solid 1px;background-color: #663366;"><b>'.$date.'</b></td>';
					}else{echo '<td style= " text-align:center;font-size:10pt;width: 14%;border:solid 1px;background-color: #666633;"><b>'.$date.'</b></td>';
					}
				}
				echo '</tr>';
				//AFFICHAGE des plages horaires et des données y correspondant-------------------------
				echo '<tr>';
				//la même boucle que précédement pour faire coïncider les jours
				for($i=$jour-3;$i<$jour+4;$i++){
					$dateDebut  = mktime(0, 0, 0, $mois ,$i, $an);
					echo '<td style= "font-size:8pt; border:solid 1px;background-color:#443322;">';
					//affichage des heures par 1/2 heure entre 8h et 22h ($n représente les minutes )
					for($n=0;$n<855;$n+=30){
						$heure=date("H:i", mktime(8,$n, 0, 7, 1, 2009));
						//C'EST ICI QUE JE VOUDRAIS AFFICHER LES DONNEES A LA BONNE PLACE!!!
							echo '<p >'.$heure.'</p>';}
 
					}
					echo '</td>';
			}
			echo '</tr>';
Merci pour vos réponses,
[INDENT]]M.[/INDENT