Hallo,
----------
<geht das wirklich nicht einfacher zb einen befehl
mysql_query("insert into tabellenname set a='2', b='3'; where a='2'"); (und noch irgendwas, wo es weis: aha 2,1 2,2 2,3 also ans ende von den zweiern).
----------
das ist so:
PHP liest, wenn keine Sortierreihenfolge angegeben ist, die Datensätze immer in der Reihenfolge ein, in der sie in der Tabelle stehen. Wenn Du jetzt mit phpmyadmin deine Tabelle nach einem anderen Feld sortierst, sind alle wieder anders angeordnet, das heißt dein Script bekommt die Datensätze immer in willkürlicher Reihenfolge. Deshalb mußt Du sie mit dem MySQL-Befehl order by sortieren (was auch wesentlich schneller und einfacher ist, als eine Sortierung mit PHP).
order by char_length(a) asc, a asc, char_length(b) asc, b asc
das ist ganz einfach:
angenommen du hast folgende Tabelle:
a b
11 5
3 19
7 8
3 4
dann kommt char_lenth(a) asc:
a b
3 19
7 8
3 4
11 5
dann kommt a asc:
a b
3 19
3 4
7 8
11 5
und dann eben noch das gleich für b order by sortiert immer das zuerst, was Du zuerst hinschreibst (char_length(a) asc... usw.) und läßt das auch so sortiert, das heißt, was vorn steht, ist in der Sortier-Priorität am wichtigsten.
Viele Grüße