Tags (Schlagworte) in MySQL speichern und mit PHP vergleichen
Hi,
hab mal wieder ein ziemlich verzwicktes Problem. Ich möchte Tags (in diesem Fall Hobbies) zu verschiedenen Personen in einer MySQL Datenbank speichern, also nach folgenden Schema: ID Name Tags 1 Max Mustermann Fußball, Basketball 2 Dagobert Duck Tennis, Fußball 3 Bill Gates Surfen, Federball, Angeln 4 James Bond Fußball, Basketball ... Die Tags zu jeder Person sind jeweils in einer Zelle gespeichert, jedoch per Komma getrennt. Nun wähle ich eine Person daraus aus, z.B. Person 1 - Max Mustermann und möchte die Tags von ihm mit den Tags der anderen Personen vergleichen. Und je mehr Übereinstimmungen der Tags zwischen Max Mustermann und einer Person, desto höher soll diese später im Ranking erscheinen. Also in diesem Fall: Ranking Name 1 James Bond (hat genau die gleichen Tags wie Max Mustermann) 2 Dagobert Duck (hat einen gleichen Tag wie Max Mustermann) 3 Bill Gates (hat keinen gleichen Tag wie Max Mustermann) Versteht ihr was ich meine? Ist etwas schwer zu beschreiben.... Ist das mit PHP möglich? Die Tags kann ich ja durch das Komma in Substrings umwandeln, aber wie ist das mit dem vergleichen? Und dem Ranking? Geht das? Gruß |
AW: Tags (Schlagworte) in MySQL speichern und mit PHP vergleichen
Also gut.
Du hast es hier ja mathematisch gesehen damit zu tun zu ermitteln, wie viele Elemente die Schnittmenge von zwei Personen hat. Ich hab keine Ahnung wie man einen Algorithmus zur Schnittmengenbestimmung aufstellen müsste, aber da kannst du dir mit Arrays und der Funktion array_intersect() behelfen. Also speicherst du die Hobbies der einzelnen Personen in Arrays, bestimmst die Schnittmenge mit der zu vergleichenden Person und zählst dann die Elemente des Rückgabewerts. |
AW: Tags (Schlagworte) in MySQL speichern und mit PHP vergleichen
Zitat:
Code:
SELECT <spaltenliste> FROM tabelle WHERE Code:
SELECT bitspalte FROM tabelle WHERE name="mustermann" PHP-Code:
Code:
Fußball,Basketball |
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:29:20 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.