gaengsterbruth
Mitglied
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....
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++)