Kalendertag wird nicht ausgegeben wenn das Enddatum > 10 ist

Bin daran eine Kalenderansicht zu Programmieren welche die Abwesenheiten aller Mitarbeiter aus meiner Abteilung in einer Monatsansicht ausgibt. Den Kalender habe ich mit Hilfe von PEAR Funktionen programmiert.

Bei allen Absenzen deren Enddatum grösser als 10 ist, klappt es hervorragend.
Sobald ich jedoch z.B: eine Abwesenheit vom 01.10.2005 - 08.10.2005 eingebe wird der 8te Tag der Abwesenheit nicht ausgegeben (Es zeichnet nicht einmal die Zelle) ...

Kann sich jemand erklären wieso das so sein könnte ?
Ich vermute das ich den Fehler beim Bilden der Zwischentage passiert....

Code:
//Absenzen der Person aus der Datebnank auslesen
$eintrag_datum = "SELECT t1.a_id, t1.a_date1, t1.a_date2, t1.p_id, t1.art_id, t2.art_id, t2.art_farbe 
FROM absenz t1, art t2 
WHERE t1.art_id = t2.art_id
AND t1.p_id =$per[p_id] 
AND (a_date1 LIKE '____-$monat-__' OR a_date2 LIKE '____-$monat-__')";
$data = mysql_query($eintrag_datum) or die ('Select1 ist fehl geschlagen! '.mysql_error());;
$anz_data = mysql_num_rows($data);
//Selection array initialisieren und die Angaben der Absenzen dem array übergeben
$selection = array();
for($b=0; $b< $anz_data; $b++)
{
mysql_data_seek($data, $b);
$eintrag = mysql_fetch_array($data);
//echo $eintrag[art_farbe];
$datum1 = explode("-",$eintrag[a_date1]);
$datum2 = explode("-",$eintrag[a_date2]);
 
$SelectedDay1 = new Calendar_Day($datum1[0],$datum1[1],$datum1[2]); 
$SelectedDay2 = new Calendar_Day($datum2[0],$datum2[1],$datum2[2]);
 
//Beginndatum dem Array zuweischen 
$selection[] = $SelectedDay1;
$id_datum[intval($datum1[2])] = $eintrag[a_id];
//Tage zwischen Anfangsdatum und Enddatum dem array zuweischen
for($i=($datum1[2]);$i< ( $datum2[2]) ;$i++)
{
$selection[] = new Calendar_Day($datum1[0],$datum1[1],$i);
$id_datum[$i] = $eintrag[a_id];
}//end for($i=($datum1[2]+1);$i< ( $datum2[2]) ;$i++) 
//Enddatum dem Array selection zuweisen
$selection[] = $SelectedDay2 ;
$id_datum[$datum2[2]] = $eintrag[a_id];
}//end for($b=0; $b< $anz_data; $b++)
 
Konnte das Problem lösen....
Indem ich
Code:
for($i=($datum1[2]);$i< ( $datum2[2]) ;$i++)

durch

Code:
 for($i=($datum1[2]);$i< ( $datum2[2] +1)  ;$i++)

ersetzt habe
 
Zurück