Lösung zur Übung Terminkalender

kompletter Quellcode zum Terminkalender

Ihr eigenes Ergebnis kann (wird i.d.R.) anders aussehen - wichtig, dass es funktioniert - sehen Sie diesen Vorschlag als Anregung und nicht zum frustrieren - wichtig ist beim Lernen von Programmiersprachen, sich nicht entmutigen zu lassen!!

                                                   
                                                   <?php
$termin[] = array('Datum' => 20121208, 'Ort' => "Wangen", 'Band' => "cOoL RoCk oPaS");
$termin[] = array('Datum' => 20120311, 'Ort' => "Stuttgart", 'Band' => "Die Hosenbodenband");
$termin[] = array('Datum' => 20120628, 'Ort' => "Tübingen", 'Band' => "flying socks");
$termin[] = array('Datum' => 20120628, 'Ort' => "Stuttgart", 'Band' => "flying socks");
// print_r ( $termin );
foreach ($termin as $nr => $inhalt) {
    $band[$nr] = strtolower($inhalt['Band']);
    $ort[$nr] = strtolower($inhalt['Ort']);
    $datum[$nr] = strtolower($inhalt['Datum']);
}
switch ($_GET['sortierung']) {
    case ("d"):
        // Sortierung nach Datum und Ort aufsteigend
        array_multisort($datum, SORT_ASC, $ort, SORT_ASC, $termin);
    break;
    case ("o"):
        // Sortierung nach Ort aufsteigend
        array_multisort($ort, SORT_ASC, $termin);
    break;
    case ("b"):
        // Sortierung nach Band aufsteigend
        array_multisort($band, SORT_ASC, $termin);
    break;
    case ("da"):
        // Sortierung nach Datum und Ort aufsteigend
        array_multisort($datum, SORT_DESC, $termin);
    break;
    case ("oa"):
        // Sortierung nach Ort aufsteigend
        array_multisort($ort, SORT_DESC, $termin);
    break;
    case ("ba"):
        // Sortierung nach Band aufsteigend
        array_multisort($band, SORT_DESC, $termin);
    break;
    DEFAULT:
        // Sortierung nach Datum
        array_multisort($datum, SORT_ASC, $ort, SORT_ASC, $termin);
}
ausgabe_tabelle($termin);
function ausgabe_tabelle($termin) {
    echo ''; // Kopf fuer sortierung
    echo '';
    echo '';
    echo '';
    echo '';
    echo '';
    echo '';
    foreach ($termin AS $inhalt) {
        $zeilenr++;
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
    }
    echo '
'; echo ' '; echo ''; echo 'Datum '; echo ''; echo '?'; echo ' '; echo ''; echo '?'; echo ''; echo 'Band '; echo ''; echo '?'; echo ' '; echo ''; echo '?'; echo ''; echo 'Ort '; echo ''; echo '?'; echo ' '; echo ''; echo '?'; echo '
'; echo $zeilenr . "."; echo ''; echo datum_deutsch($inhalt['Datum']); echo ''; echo $inhalt['Band']; echo ''; echo $inhalt['Ort']; echo '
'; } function datum_deutsch($datum) { $jahr = substr($datum, 0, 4); $monat = substr($datum, 4, 2); $tag = substr($datum, -2); $datum_deutsch = $tag . "." . $monat . "." . $jahr; return ($datum_deutsch); } function farbwechsel($zeilenr) { if (bcmod($zeilenr, '2') == 0) { $hintergrundfarbe = ' bgcolor="#ACC8F0" '; } else { $hintergrundfarbe = ' bgcolor="#DDE8F9" '; } return ($hintergrundfarbe); } ?>