Dies ist definitiv mit MySQL möglich, aber ich denke, Sie gehen vielleicht auf eine umständliche Weise vor. Ich würde damit beginnen, die Tabellen wie folgt zu strukturieren:
TABLE Users ( userId, username, location )
TABLE Interests( interestId, hobby )
TABLE UserInterests( userId, interestId, level )
Wenn ein Benutzer ein Interesse hinzufügt, fügen Sie es den Interests
hinzu, falls dies noch nicht geschehen ist Tabelle und fügen Sie sie dann zu UserInterests
hinzu Tisch. Wenn Sie nach anderen Personen in der Nähe mit ähnlichen Interessen suchen möchten, können Sie einfach die UserInterests
abfragen Tabelle für andere Personen mit ähnlichen Interessen, die all diese Informationen bereits für Sie bereithält:
SELECT DISTINCT userId
FROM UserInterests
WHERE interestId IN (
SELECT interestId
FROM UserInterests
WHERE userId = $JoesID
)
Dies kann wahrscheinlich eleganter ohne Unterabfragen erfolgen, aber genau das ist mir jetzt eingefallen.