Hallo, ich habe eine Function erstellt, die Termine für eine Woche aus einer Datenbank verarbeitet und mir dann eine Breite ausgibt. Diese Breite benötige ich für die Darstellung des Termins. Leider scheint es in meiner Schleife, wo ich die einzelnen Tage abrufe einen Fehler zu geben, denn ich bekomme nur die Termine des ersten Tages.
function termine_raum($firstday){
global $site_config, $session;
//Kalenderwerte
$min = 480;
$max = 1200;
$boardwidth=600;
$datewidth=60;
$calendarwidth=720;
//Ersten Tag der Woche konfigurieren
$date=$firstday[1]; //DD.MM.YYYY
$day=substr($date,0, 2); //DD
$month=substr($date,3, 2); //MM
$year=substr($date,6, 4);//YYYY
$date= $year.$month.$day; //YYYYMMDD
$diffdate=$date;
$dayadd=1;
for($i = 1; $i <= 6; $i++)
{ //Schleife um Termine aus der Datenbank zu holen
$tmp[$i] = $this->get_day_termin_raum($diffdate); //aktueller Tag YYYYMMDD
$diffday=substr($diffdate,6, 2);
$diffmonth=substr($diffdate,4, 2);
$diffyear=substr($diffdate,0,4);
$utdiff=mktime(0, 0, 0, $diffmonth, $diffday+$dayadd, $diffyear); //Tag addieren
$date=date('Ymd',$utdiff);
$diffdate=$date;
echo $diffdate;
}
if(!empty($tmp)) {
foreach ($tmp as $key => $val) {
$summe = 0;
$y = 0;
$min = 480;
$width[$key]["tag"] = $this->wochentage[$key];
if(!empty($val)) {
foreach ($val as $k => $v) {
$starthour=$v["termin_startdate"];
$starthour=substr($starthour, 11, 2);
$startmin=$v["termin_startdate"];
$startmin=substr($startmin, 14, 2);
$endhour=$v["termin_enddate"];
$endhour=substr($endhour, 11, 2);
$endmin=$v["termin_enddate"];
$endmin=substr($endmin, 14, 2);
$width[$key]["daten"][$y]["width"] = (($starthour*$datewidth + $startmin) - $min)*($boardwidth/$calendarwidth);
$summe += $width[$key]["daten"][$y]["width"];
$width[$key]["daten"][$y]["class"] = "eintrag_lost";
$y++;
$width[$key]["daten"][$y]["width"] = (($endhour*$datewidth + $endmin) - ($starthour*$datewidth + $startmin))*($boardwidth/$calendarwidth);
$width[$key]["daten"][$y]["von"] = $starthour.":".$startmin;;
$width[$key]["daten"][$y]["studenten"] = $this->get_user_termin($v["termin_id"]);
$width[$key]["daten"][$y]["bis"] = $endhour.":".$endmin;
$width[$key]["daten"][$y]["termin_id"] = $v["termin_id"];
if($v["termin_kind"] == 3) {
$width[$key]["daten"][$y]["class"] = "eintrag_free";
}
elseif($v["termin_kind"] == 1){
$width[$key]["daten"][$y]["class"] = "eintrag";
}
else {
$width[$key]["daten"][$y]["class"] = "eintrag_sperr";
}
$summe += $width[$key]["daten"][$y]["width"];
$y++;
$min = $endhour*$datewidth + $endmin;
}
}
$width[$key]["daten"][$y]["width"] = $boardwidth - $summe;
}
}
return $width;
Weiß jemand Rat? Ich bin am verzweifeln. :-(