Mach das, denn das macht Deine DB erst relational...
Hallo nochmal Maik W. aus E.!
Ich habe mich jetzt mit Verknüpfungen von Tabellen auseinandergesetzt.
Meine Tabelle könnte also z.B. in zwei "Relationen" aufgeteilt werden:
REZEPTE ZUTATEN
+----+-----------+ +---------+--------+
| ID | Name | |Rezept_ID| Zutat |
+----+-----------+ +---------+--------+
| 5 | Wurstbrot | | 5 | Wurst |
+----+-----------+ +---------+--------+
| 5 | Brot |
+---------+--------+
| 5 | Butter |
+---------+--------+
Die Suche müsste dann aus zwei Abfragen bestehen:
Zuerst wird überprüft welche Zutaten mit den Such-Eingaben (aus den Input-Feldern des Formulars) übereinstimmen und dann deren Rezept_ID geliefert.
$abfrage1 = " SELECT Rezept_ID.Zutaten FROM Zutaten
WHERE MATCH ($_POST['zutat1'], $_POST['zutat2'], $_POST['zutat...'])
AGAINST (Zutat)";
Dann werden alle Rezepte herausgesucht, deren ID mit der Rezept_ID der Zutaten übereinstimmt.
$abfrage2 = " SELECT Rezept.Name From Rezepte
WHERE Rezepte.ID = Rezept_ID.Zutaten";
Wäre sehr nett von dir, wenn du mir ein kurzes Feedback geben könntest. Ist das so ungefähr sinnvoll?
Leidet unter dieser doppelten Abfrage nicht die Performance der Suche?
Gruß nach E.,
Max