I need some help for display the events when there is more than 1.
Currently my calendar looks like that:
I've done a while for each events but I don't know how to tell to PHP to do the others events and not repeat the same one 2 or 3 times like on the screenshot.
Here is my current code: (working perfectly with only 1 event per person)
$chresult = mysql_query("SELECT * FROM personnel WHERE masquer=0 ORDER BY lastname");
$z = 0;
while ($z < mysql_num_rows($chresult)) {
$lastname = $donnees['lastname'] = mysql_result($chresult, $z, 'lastname');
$firstname = $donnees['firstname'] = mysql_result($chresult, $z, 'firstname');
$personnel_id = $donnees['personnel_id'] = mysql_result($chresult, $z, 'personnel_id');
$abresult = mysql_query("SELECT motif, date_start, date_end FROM absence WHERE personnel_id='$personnel_id' AND date_start>='$startmonth' AND date_end<='$endmonth' ORDER BY id DESC");
$rowabsence = mysql_fetch_row($abresult);
$resultcountpersonnelabsent=mysql_query("SELECT COUNT(*) AS nombre FROM absence WHERE personnel_id='$personnel_id' AND date_start>='$startmonth' AND date_end<='$endmonth' ORDER BY id DESC");
$number=mysql_result($resultcountpersonnelabsent, 0, 'nombre');
if($number == 0) {
}
else {
echo "<TR>";
echo "<TD><span class=\"label label-default\">$lastname $firstname</span></TD>";
$w = 0;
while ($w < $number) {
$explode_date_start=explode('-',$rowabsence[1]);
$explode_date_end=explode('-',$rowabsence[2]);
$numberofdays = $explode_date_end[2] - $explode_date_start[2];
$explode_end_month=explode('-',$endmonth);
$a = 1;
while ($a < $explode_date_start[2]) {
echo "<TD></TD>";
$a++;
}
$b = -1;
while ($b < $numberofdays) {
echo "<TD bgcolor=\"$color\"></TD>";
$b++;
}
$c = $explode_date_end[2];
while ($c < $explode_end_month[2]) {
echo "<TD></TD>";
$c++;
}
$w++;
}
echo "</TR>";
}
$z++;
}
EDIT: Translated PHP code from French to English.
P.S: When this will be fully working I will upload the full source if requested.