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öglichen die Sortierung.<br>\n";
?>
</pre></body></html>