Bonsoir, je suis en train de faire un calendrier mensuel pour prise de rendez vous, et je rencontre un problème sur la façon de faire !

Voila je présente le calendrier du mois en cours avec une colonne date, horaire, et les lignes dates sont remplis automatiquement par les jours du mois.
avec ce script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
  </tr>
    <?php for ($i = 1; $i <= date('t'); $i++)
{ ?>
<tr>
		<td></td>
      <td><?php
	$date = date("m-Y"); 
	$lg_chaine = strlen($i);
	if ($lg_chaine == 1){
		$i = '0'.$i;
	}
	echo $i.'-'.$date.'<br/>';
?></td>
ainsi j'ai la date de chaque jour, et à coté j'ai mis un bouton 'insérer un rdv' qui permet à l'utilisateur de rentrer le rdv pour le jour sélectionner, voici ainsi ma table sql nommé 'planning' :
  • id (auto-incrémenté dans la table)
  • date (champ date pour la date du rdv)
  • horaire_debut (heure du debut du rdv champ time)
  • horaire_fin (heure de fin du rdv)
  • nom (l'id de la personne issu d'une autre table)


L'insertion fonctionne bien, mais le problème réside dans l'affichage du planning, en effet j'ai crée une fonction PHP qui m'affiche les données issu de ma table planning d’après la date passé en paramétre et le type de valeur souhaité en retour, 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
function afficher($param1, $col){
if ($col == 'PERSONNE'){
				global $formation; // variable globale
		$query_afficher = "SELECT CONCAT(personnels.pers_nom, ' ' ,personnels.pers_prenom) AS name FROM 
			planning, personnels
			WHERE planning.nom = personnels.id_pers
			AND DATE_FORMAT(planning.date,'%d-%m-%Y')='$param1'"; 
		$afficher = mysql_query($query_afficher, $formation) or die(mysql_error());
		$row_afficher = mysql_fetch_assoc($afficher);
		$resultat =  $row_afficher['name'];
		return $resultat;
	}elseif ($col == 'HEURE'){
				global $formation; // variable globale
		$query_afficher = "SELECT CONCAT(DATE_FORMAT(h_debut, '%H:%i'),' a ',DATE_FORMAT(h_fin, '%H:%i')) AS horaire
			FROM planning
			WHERE DATE_FORMAT(planning.date,'%d-%m-%Y')='$param1'"; 
		$afficher = mysql_query($query_afficher, $formation) or die(mysql_error());
		$row_afficher = mysql_fetch_assoc($afficher);
		$resultat =  $row_afficher['horaire'];
		return $resultat;
	}
}
et ensuite dans le tableau j'appel les fonctions pour m'afficher les resultats (un peu lourd je sais)
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
  <table id='liste'>
    <tr>
      <td><div align="center"><h9>Date</h9></div></td>
      <td><div align="center"><h9>Heure</h9></div></td>
      <td><div align="center"><h9>Nom et prenom</h9></div></td>
    </tr>
    <?php for ($i = 1; $i <= date('t'); $i++)
{ ?>
<tr>
		<td></td>
      <td><?php
	$date = date("m-Y"); 
	$lg_chaine = strlen($i);
	if ($lg_chaine == 1){
		$i = '0'.$i;
	}
	echo $i.'-'.$date.'<br/>';
?></td>
      <td><center><?php echo afficher($i.'-'.$date, 'HEURE');?></center></td>
      <td><center><?php echo afficher($i.'-'.$date, 'PERSONNE');?></center></td>
      </tr>
      <?php } ?>
  </table>
Le problème réside dans le fait que si par exemple j'ai deux rendez vous le même jour, je n'ai que le dernier qui s'affichera dans ma ligne du jour concerné !
Il faudrait que j'ai crée une seconde ligne si un deuxième rdv le même jour !!
(j'aurais pu afficher simplement ma requête sql planning avec les rdv saisis mais le soucis est que je n'aurais pas eu tous les jours du mois, alors que l'utilisateur souhaite les avoirs !)
comment faire pour bien faire ?