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?
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?
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;
}