lisali
Erfahrenes Mitglied
Hallo!
Ich bin momentan echt durcheinander wegen meiner Freundesliste. Das System bei mir ist so aufgebaut, dass es eben diese Datenbank "friends" gibt und dann jeweils "first", "second" und "status". In "first" und "second" werden die User-ID's eingetragen. Wenn der "status" auf "both" gesetzt ist, sind beide miteinander befreundet.
Jetzt habe ich aber ein Problem bei der Ausgabe, dass ich die richtige User-ID in einem Schleifenlauf auswähle. Und zwar mache ich das so (siehe Kommentare zur Erläuterung):
Jetzt ist die Frage, wie ich das alternativ lösen kann, dass das nicht passiert?
Ich hoffe wirklich, dass ihr mir helfen könnt, wäre voll dankbar!
Liebe Grüße,
Lisa
Ich bin momentan echt durcheinander wegen meiner Freundesliste. Das System bei mir ist so aufgebaut, dass es eben diese Datenbank "friends" gibt und dann jeweils "first", "second" und "status". In "first" und "second" werden die User-ID's eingetragen. Wenn der "status" auf "both" gesetzt ist, sind beide miteinander befreundet.
Jetzt habe ich aber ein Problem bei der Ausgabe, dass ich die richtige User-ID in einem Schleifenlauf auswähle. Und zwar mache ich das so (siehe Kommentare zur Erläuterung):
PHP:
# Ich selecte "first" und "second" überall in der DB, wo beide miteinander befreundet sind ("status" = "both")
$result = mysql_query("SELECT first,second FROM friends WHERE status='both'
AND (first='$get_id' OR second='$get_id')");
while ($friends = mysql_fetch_array($result)) {
# Ich prüfe mit count, ob die User-ID in diesem Durchlauf "first" oder "second" ist
# Hier liegt auch der Fehler, denn ist $count1 einmal "true", ist es das in jedem Durchlauf
$count1 = mysql_fetch_array(mysql_query("SELECT COUNT(status) FROM friends
WHERE (first='$get_id' AND status='both')"));
$count2 = mysql_fetch_array(mysql_query("SELECT COUNT(status) FROM friends
WHERE (second='$get_id' AND status='both')"));
# Prüfen, ob User-ID "first" oder "second" und dementsprechend die
# User-Informationen selecten... da aber z.B. mal der erste $count1 bereits
# schonmal "true" bzw. nicht null war, dann selectet er folglich immer die falsche User-ID
if (!empty($count1[0])){ $friend = mysql_fetch_array(mysql_query("SELECT id FROM users WHERE id='$friends[second]'")); }
elseif (!empty($count2[0])){ $friend = mysql_fetch_array(mysql_query("SELECT id FROM users WHERE id='$friends[first]'")); }
...
Jetzt ist die Frage, wie ich das alternativ lösen kann, dass das nicht passiert?
Ich hoffe wirklich, dass ihr mir helfen könnt, wäre voll dankbar!
Liebe Grüße,
Lisa