User Auslesen von dort Wo meine id steht

ciberjoerg

Erfahrenes Mitglied
Wie könnte ich das jetzt aus er datenbank korrekt auslesen, wenn ich in der Zeile an_id und von_id nach meiner id suche.
Wenn in von_id meine id ist soll mir die an_id ausgelesen werden und wenn meine id in an_id steht, soll mir von_id angezeigt werden, am besten geortnet nach "time".
Eine Idee
PHP:
SELECT * FROM flist WHERE an_id = '$user' OR von_id ='$user' Order BY time
 
Ein UNION dürfte da weiterhelfen
SQL:
SELECT 
	fl.an_id AS friend_id,
	fl.time
FROM
	flist AS fl
WHERE
	fl.von_id = '{$user}'
UNION SELECT 
	fl.von_id AS friend_id,
	fl.time
FROM
	flist AS fl
WHERE
	fl.an_id = '{$user}'
ORDER BY
	time;

PS: Je einen Index auf die von_id und einen auf die an_id währen sicher gut für die Performance
 
Zuletzt bearbeitet von einem Moderator:
Okay wenn ich das ganze jetzt so hab, wie wird mir dann das Resultat angezeigt?

PHP:
$abfrage = "SELECT
    fl.an_id AS friend_id,
    fl.time
FROM
    flist AS fl
WHERE
    fl.von_id = '{$user}'
UNION SELECT
    fl.von_id AS friend_id,
    fl.time
FROM
    flist AS fl
WHERE
    fl.an_id = '{$user}'
ORDER BY
    time";
$ergebnis = mysql_query($abfrage)or die(mysql_error());
while($row = mysql_fetch_object($ergebnis))
    {

    }
 
Zurück