Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
//Testdaten: Simulation der DB-Tabelle-Rückgabe
$jobs[] = array('start' => '00:00', 'end' => '00:05', 'jobId' => 1, 'mo' => 1, 'di' => 1, 'mi' => 0);
$jobs[] = array('start' => '01:35', 'end' => '02:15', 'jobId' => 2, 'mo' => 0, 'di' => 1, 'mi' => 0);
$jobs[] = array('start' => '02:00', 'end' => '06:55', 'jobId' => 3, 'mo' => 0, 'di' => 1, 'mi' => 1);
$jobs[] = array('start' => '12:10', 'end' => '12:25', 'jobId' => 4, 'mo' => 1, 'di' => 0, 'mi' => 0);
//Daten: Pro Tag ein Eintrag. Der Index sind die Spaltennamen der Tageseinträge der Jobs
//TODO: Erweitern bis Sonntag
$days = array('mo' => 'Montag', 'di' => 'Dienstag', 'mi' => 'Mittwoch');
//Uhrzeiten als String zusammenstellen: 00:00 bis 23:55
//Wir können später die Zeiten als Stringvergleich durchführen, da die Zeit in diesem Format sortierbar ist
for($hour = 0; $hour <24; $hour++){
for($minute = 0; $minute < 60; $minute = $minute + 5){
$times[] = date('H:i', mktime($hour, $minute));
}
}
//Ausgabe
echo '<table>';
//Titel-Zeile ausgeben
echo '<tr><th>time</th>';
foreach($days as $dayName){
echo "<th>{$dayName}</th>";
}
echo '</tr>';
//Pro Uhrzeit eine Zeile
foreach($times as $time){
echo '<tr>';
echo "<th>{$time}</th>";
//Pro Tag eine Spalte
foreach(array_keys($days) as $dayCode){
//Alle Jobs auslesen welche an diesem Tag zur angegeben Zeit eingetragen sind
$actualJobs = array_filter($jobs, create_function('$job', "return \$job['{$dayCode}'] == 1 && \$job['start'] <= '{$time}' && '{$time}' < \$job['end'];"));
//TODO: hier das Ganze nach Farbe aufbrösmeln und ausgebe
//TODO: Die Server/Job/Formatierung durchführen
//TODO: Fehler ausgeben wenn count($actualJobs)>1 ist. Dann hast du überlappende Jobs
//Ich gebs jetzt einfach mal die jobIds mit Komma getrennt aus
//Die jobId aus den ausgewählten Jobs auslesen
$actualJobIds = array_map(create_function('$job', 'return $job["jobId"];'), $actualJobs);
//Und ausgeben
echo '<td>'.implode(', ', $actualJobIds).'</td>';
}
echo "</tr>\n";
}
echo '</table>';
Welchen Teil davon hast du nicht verstanden? Ich weigere mich jetzt dein Code zu lesen!Bitte den Code formatiert in [PHP]mein Code[/PHP] setzen.
So wie er jetzt da steht kann man das Ding nicht lesen.
Und noch ein Tipp: Lies alle Befehle die du nicht kennst bei php.net nach und versuche zu verstehen was da vor sich geht.
Wenn du nicht weisst, was $time ist, dann solltest du die foreach-Schleife in php.net nachlesen.aber was muss ich den bei $time einsetzten?
$actualJobIds=array();
foreach($actualJobs as $job){
$actualJobIds[] = $job['jobId'];
}