[Done] Problem beim Alphabetischen anordnen von Datensätzen

Hallo Community,

erstmal Entschuldigung, dass ich euch schon wieder belästigen muss, aber ich habe folgendes Problem:

Ich habe Buddylisten für die Benutzer (hfftl. werd ich bald welche haben) meines CMS erstellt.
Das ganze funktioniert bei mir so:

Habe eine Tabelle wo aus 3 Felder besteht: id, user_id, friend_id

id ist primärschlüssel und auto_inc.
user_id da steht die id des users drin dem dieser einträg gehört
friend_id da steht der Freund des users drinne

Jetzt les ich des per SQL Befehl im jeweiligen Profil aus:

$query = 'SELECT * FROM user_friendlist WHERE '.$profilid.' = user_id';
$sql = mysql_query($query) or die(mysql_error());

und starte eine while schleife

while ($ds = mysql_fetch_object($sql)) {
$friendid = $ds->friend_id;
$query2 = 'SELECT username FROM user WHERE '.$friendid.' = userid';
$sql2 = mysql_query($query2) or die(mysql_error());
$ds2 = mysql_fetch_object($sql2);
$friendname = $ds2->username;
echo $friendname;

so jetzt hab ich alles ausgegeben, aber das ist alles ungeordnet,
wenn ich jetzt aber die zeile

in

ändere, tut sich garnichts wie muss ich es richtig machen? Muss ich die usernamen alle in ein Array schreiben und dann mit einer weiteren while schleife abarbeiten?
Hätte da vllt einer ein Code beispiel für?

MfG

Ich weiß ja nicht ob das eine “billig” Methode ist, aber ich würde das in ein String-Array schreiben und das dann von PHP sotieren lassen und danach ausgeben.

Edit: Andere Möglichkeit wäre den Query mit der while Schleife zu einem unendlich langem Konstrukt aus OR userid=bla OR userid=foo zu machen. Aber schön ist das nicht…

[quote=“Kaini”]Ich weiß ja nicht ob das eine “billig” Methode ist, aber ich würde das in ein String-Array schreiben und das dann von PHP sotieren lassen und danach ausgeben.

Edit: Andere Möglichkeit wäre den Query mit der while Schleife zu einem unendlich langem Konstrukt aus OR userid=bla OR userid=foo zu machen. Aber schön ist das nicht…[/quote]

Ja die zweite Methode ist wirklich nicht schön ^^
Das mit dem String Array hab ich mir auch schön überlegt, aber wie mach ich das am besten?

Statt echo $friendname; einfach $namen[] = $friendname; und NACH der Schleife

for($i = 0; $i < sizeof($namen); $i++) { echo $namen[$i]; }
Ist jetzt nicht getestet aber sollte gehen.

[quote=“Kaini”]Statt echo $friendname; einfach $namen[] = $friendname; und NACH der Schleife

for($i = 0; $i < sizeof($namen); $i++) { echo $namen[$i]; }
Ist jetzt nicht getestet aber sollte gehen.[/quote]

danke ich probiers gleich einmal aus

EDIT: jetzt is das gleiche Problem da, ist nicht alphabetisch geordnet?!

Array vorher sortieren:

[quote=“hummer”]Array vorher sortieren:

kk danke, bin bei google auch schon fündig geworden

Warum ganz viele Datenbankabfragen machen, wenn es auch mit einer geht?

$query = 'SELECT username FROM user WHERE userid IN (SELECT friend_id FROM user_friendlist WHERE user_id = '.$profilid.') ORDER BY username ASC'; $sql = mysql_query($query) or die(mysql_error()); while ($ds = mysql_fetch_object($sql)) { $friendname = $ds->username; echo $friendname; }

Danke, genau die Lösung hab ich gesucht :hail: