ich in der folgenden Tabelle haben:Wertprüfung direkt in der Abfrage mit MySQL
Freunde:
id | user1 | user2 | status
1 | Jorge | Alisson | 3
2 | Lucas | Jorge | 3
Und ein SELECT
zu tun, ich tun (die Variable $userLogged
dem Benutzer bezieht sich angemeldet zu der Zeit in):
SELECT user1, user2, status
FROM friends
WHERE user1 = '$userLogged' OR user2 = '$userLogged'
Also, in PHP:
foreach($query as $q) {
if($q["user1"] == $userLogged) {
$userFriend = $q["user2"];
} else {
$userFriend = $q["user1"];
}
}
Angenommen, die $userLogged
ist Jorge. Ich möchte den Freund bekommen ($userFriend
), das heißt, das ist nicht $userLogged
(Alisson und Lucas, für den Fall). Momentan mache ich diese Überprüfung in der oben gezeigten Weise mit PHP. Wie kann ich das direkt in der Abfrage machen und so diese Prüfung in PHP speichern? Für ex .: SELECT user1 AND user2 <> '$userLogged' AS userFriend
...
Gibt es eine Benutzertabelle? Ich hätte Freunde userid, freuidid. Dann könntest du leicht einen Beitritt für alle von Jorges Freunden machen. Auf diese Weise müssen Sie einen Self-Join durchführen und wenn Sie Benutzer mit demselben Namen haben, gibt es keine Möglichkeit, sie zu unterscheiden. – chris85