Tabelle in sortierbarer Form


<html><head><title>Anzeige</title></head> <body bgcolor="#eeeeee"><pre> <h2>Tabelle in sortierbarer Form</h2><hr noshade size="1"> <? // ===== Funktionen: sw_array_table, sw_set_sort ================= // // Ausgabe eines 2-dim-Assoz-Arrays als HTML-Tabelle function sw_array_table($arr,$showheader=true,$border=3) { global $SW_PHP_SELF; // leider notwendig echo "<TABLE cellpadding=\"3\" cellspacing=\"0\" BORDER=$border>"; for($i=0; $i < count($arr); $i++) { // alle Dateien/Verzeichnisse $arrDatei = $arr[$i]; if ( $showheader ) { // Table-Header (beim 1. Mal) $showheader = false; // dann verriegeln $arrKeys = php3_array_keys($arrDatei); echo "<TR bgcolor=\"#cccccc\">"; for($j=0; $j < count($arrKeys); $j++) if ( ! strstr($arrKeys[$j],"_") ) { echo "<TH align=\"left\"><a href=\"$SW_PHP_SELF?sortKey=$arrKeys[$j]\">"; echo $arrKeys[$j]."</a></TH>"; } echo "</TR>"; } // Table-Data echo "<TR>"; for(reset($arrDatei); $key = key($arrDatei); next($arrDatei) ) if ( ! strstr($key,"_") ) echo "<TD>".$arrDatei[$key]."</TH>"; echo "</TR>"; } echo "</TABLE>"; } function array_set_sort($arr, $sortKey) { for($i=0; $i < count($arr); $i++) // alle Dateien if ( ! strcmp($sortKey,"Size") ) $arr[$i]["Sort_"] = sprintf("%06d",$arr[$i]["Size"]); else if ( ! strcmp($sortKey,"Datum") ) { $arrDatum = explode(".",$arr[$i]["Datum"]); $arr[$i]["Sort_"] = $arrDatum[2].$arrDatum[1].$arrDatum[0]; } else $arr[$i]["Sort_"] = $arr[$i][$sortKey]; return $arr; } // ===== ProgrammAblauf ================== // $SW_PHP_SELF = $PHP_SELF; // damit innerhalb Fktionen abrufbar // Files Einlesen; die Keys: "Sort_ Verz Name Size Datum ..." $arrFiles = sw_all_files("../must_01/"); //$arrFiles = sw_all_files("../"); $arrFiles = array_set_sort($arrFiles, $sortKey); // "Sort_" Setzen $arrFiles = php3_array_multisort($arrFiles); // Sortieren (nach Sort_) echo "\n<b><u>Sortierung nach:</u> $sortKey</b><br>\n"; sw_array_table($arrFiles); // als Tabelle ausgeben echo "\n\nDie Links in der Titelzeile erm&ouml;glichen die Sortierung.<br>\n"; ?> </pre></body></html>