Dit is zeker mogelijk met MySQL, maar ik denk dat je het misschien op een ongemakkelijke manier aanpakt. Ik zou beginnen met het structureren van de tabellen als volgt:
TABLE Users ( userId, username, location )
TABLE Interests( interestId, hobby )
TABLE UserInterests( userId, interestId, level )
Wanneer een gebruiker een interesse toevoegt, als deze nog niet eerder is toegevoegd, voegt u deze toe aan de Interests
tabel, en voeg het dan toe aan de UserInterests
tafel. Als u wilt zoeken naar andere mensen in de buurt met dezelfde interesses, kunt u eenvoudig de UserInterests
opvragen tabel voor andere mensen met dezelfde interesses, die al die informatie al voor u heeft:
SELECT DISTINCT userId
FROM UserInterests
WHERE interestId IN (
SELECT interestId
FROM UserInterests
WHERE userId = $JoesID
)
Dit kan waarschijnlijk op een elegantere manier worden gedaan zonder subquery's, maar daar dacht ik nu aan.