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 frustieren - 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 '<table border="1" cellpadding="6" cellspacing="0">';       // Kopf fuer sortierung     echo '<tr bgcolor="#6C9DE6">';     echo '<th>';     echo ' ';     echo '</th>';       echo '<th>';         echo 'Datum ';         echo '<a href="terminkalender.php?sortierung=d">';         echo '?</a>';         echo ' ';         echo '<a href="terminkalender.php?sortierung=da">';         echo '?</a>';     echo '</th>';       echo '<th>';         echo 'Band ';         echo '<a href="terminkalender.php?sortierung=b">';         echo '?</a>';         echo ' ';         echo '<a href="terminkalender.php?sortierung=ba">';         echo '?</a>';     echo '</th>';       echo '<th>';         echo 'Ort ';         echo '<a href="terminkalender.php?sortierung=o">';         echo '?</a>';         echo ' ';         echo '<a href="terminkalender.php?sortierung=oa">';         echo '?</a>';     echo '</th>';     echo '</tr>';         foreach ($termin AS $inhalt )     {         $zeilenr++;         echo '<tr';         echo farbwechsel ( $zeilenr );         echo '>';         echo '<td>';             echo $zeilenr. ".";         echo '</td>';           echo '<td>';             echo datum_deutsch ( $inhalt['Datum'] );         echo '</td>';           echo '<td>';             echo $inhalt['Band'];         echo '</td>';           echo '<td>';             echo $inhalt['Ort'];         echo '</td>';         echo '</tr>';     }     echo '</table>'; }   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 ); } ?>