Hello,
nur so als Anregung:
Du kannst das Array auch als Spaltenarray aufbauen, was dann allerdings speziell von Dir geschriebene Funktionen für (Select,) Insert, Update, Delete von "Datensätzen" erfordert, aber es ermöglicht, nach jeder Spalte zu sortieren _und_ diese Sortierungen gleichzeitig aufrecht zu erhalten.
$_kategorie = array();
$_kategorie['name'][1] = 'messages';
$_kategorie['title'][1] = 'Beiträge';
$_kategorie['name'][2] = 'stat';
$_kategorie['title'][2] = 'Statistiken';
$_kategorie['name'][3] = 'accounts';
$_kategorie['title'][3] = 'Mein Account';
Und wenn Du jetzt
asort($_kategorie['name']);
asort($_kategorie['title']);
durchführst, dann sind beide Spalten sortiert, die Schlüssel-Value-Beziehungen bleiben aber erhalten.
Du kannst dann mit
foreach($_kategorie[$sortspalte] as $key => $val)
{
echo "<p>{$_kategorie['name']['key']} => {$_kategorie['title']['key']}</p>";
}
das Array ausgeben.
Hier wurde schon mel die Frage gestellt, wieso ich nicht
foreach($_kategorie[$sortspalte] as $key => $val)
{
echo "<p>$val => {$_kategorie['title']['key']}</p>";
}
schreiben würde. Antwort: es handelt sich um ein Besipiel, das eine universell nutzbare Funktion andeuten soll, und keinen proprietären Code für nur einen Anwendungsfall.
Der Aufbau als Spaltenarray ,hat Vorteile für die Sortierung, die Suche, und den Speicherbedarf.
Insbesondere beim geringeren Speicherbedarf macht sich das bei langen Spaltennamen durch die entfernte Redundanz ganz stark bemerkbar.
Die Funktionen für Select, Insert, Update und Delete lassen sich als allgemeingültige Funktionen aufbauen, sodass sie nur in der Form
$ok = delete($_array, $record_no);
$ok = update($_array, $_record, $record_no);
$ok = insert($_array, $_record[, $record_no]);
auftreten müssen und für _alle_ Spaltendefinitionen universell einsetzbar sind.
Je nachdem, wie es gewünscht wird, kann das Satzformat von $_array und $_record überprüft werden oder stillschweigend ergänzt/gekürzt werden, wenn ein Feld im Zeilenarray $_record fehlt oder zuviel ist, da ja die namen mit übergeben werden.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau