HowTo? Mehrdimensionale Arrays sortieren?
Stefan Welscher
- php
0 Tom0 Stefan Welscher0 Tom
Hi,
ich hab ein Problem:
Ich möchte alle Einträge eines Dropdown-Menüs Alphabatisch sortieren lassen. Diese Einträge bestehen aus jeweils 2 Feldern eines MySQL-Datensatzes (kategorie_dir.$kategorie_name).
Ich hab mir das ganze wie folgt gedacht (vereinfachte darstellung):
$select_all_categories="SELECT kategorie_id, kategorie_name, kategorie_dir, kategorie_beschreibung, kategorie_status FROM kategorien ORDER by kategorie_dir ASC;"; }
$a=0;
$resID=mysql_query($select_all_categories, $linkID);
while ($get_results=mysql_fetch_array($resID,MYSQL_BOTH))
{
$dir_array[0][$a]=$get_results[0];
$dir_array[1][$a]=$get_results[2].$get_results[1]; //Hiernach sollte sortiert werden
$dir_array[2][$a]=$get_results[3];
$dir_array[3][$a]=$get_results[4];
$a++;
}
asort ($dir_array[1]);
for ($b=0;$b<$a;$b++)
{
echo "<option value="".$dir_array[0][$b]."" titel="".$dir_array[2][$b])."">";
echo $dir_array[1][$b];
echo "</option>\n";
}
}
Leider funktioniert das so nicht. Verwende ich die Funktion sort() gehen allerdings meine Verbindungen verloren (Plätzchen habe die ID von Blumen etc.). In MySQL bin ich nicht besonders fitt, deshalb kann ich nicht sagen, ob es evtl. hier schon eine Eingriffsmöglichkeit gibt. Ansonsten bin ich etwas Ratlos, wie isch die sortierung durchführen kann und hoffe auf eure Hilfe :)
Hello,
dazu habe ich mich schon einmal ausführlich ausgelassen und Sven rautenberg hat mich dann zu den Laien zurückgeschickt, da ich die Array-Funktionen nicht verstanden hätte *gg*
Ich werde mir die geniale Lössung daher heute verkneifen, denndie verstehen nur die Schlauen *nochmal grins*
Aber wenn Du hier nach "mehrdimensionales Array sortieren" gesucht hättest, hätte Dir der Thread entgegenspringen müssen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Tag Tom,
ok, hab mal nach dem Problem gesucht und bin fündig geworden :)
mit usort und dieser komischen cmp-funktion geht`s jetzt auf jeden fall....
thanks!
Hello,
Tag Tom,
ok, hab mal nach dem Problem gesucht und bin fündig geworden :)
mit usort und dieser komischen cmp-funktion geht`s jetzt auf jeden fall....
thanks!
Und wenn es noch nicht zu spät ist, solltest Du über das Array-Design nachdenken. Die Performance wird es Dir danken.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom