Maximilian: Anzahl der Übereinstimmungen einer Suchabfrage ausgeben

Beitrag lesen

Hallo zusammen!

Ich schreibe gerade in PHP und MySQL eine Seite, auf der man Rezepte eintragen und dann nach Eingabe von Zutaten in eine Suchmaske wieder abrufen können soll.
Meine Datenbank (relational aufgebaut) besteht aus zwei Tabellen:

+----+---------+
| ID |   name  |
+----+---------+
| 7  |Wurstbrot|
+----+---------+
| 8  |Butterbrot|
+----+---------+

+---------+----------+
|rezept_ID|   zutat  |
+---------+----------+
| 7       |   Wurst  |
+---------+----------+
| 7       |   Brot   |
+---------+----------+
| 8       |   Butter |
+---------+----------+
| 8       |   Brot   |
+---------+----------+

Trägt jemand zum Beispiel das Rezept "Wurstbrot" ein, wird in die erste Tabelle (Rezepte) über auto-increment eine ID sowie der Name des Rezepts geschrieben.
In die zweite Tabelle werden die Zutaten geschrieben und außerdem die ID des Rezepts (als "rezept_ID" gespeichert), damit man die Zutaten den dazugehörigen Rezepten zuordnen kann.

Meine Suchabfrage (mit Subselect) sieht momentan so aus:

$abfrage = "SELECT name FROM rezepte
            WHERE (ID) = ANY (SELECT rezept_ID FROM zutaten
                              WHERE MATCH (zutat)
                              AGAINST ('    ".mysql_real_escape_string($_POST['zutat1'])."*
                                            ".mysql_real_escape_string($_POST['zutat2'])."*  ' IN BOOLEAN MODE)
                              )";

Und die Ausgabe so:

$resultat = mysql_query($abfrage) or die (mysql_error());

echo " <table> ";

while ($row = mysql_fetch_array($resultat))
 {
   extract ($row);
   echo "  <tr>
           <td> $name </td>
           </tr> ";
 }

echo " </table> ";

Das funktioniert auch soweit. Sucht man beispielsweise nach der Zutat Wurst, erhält man als Ergebnis das Rezept Wurstbrot. Sucht man nach Wurst und Brot, spuckt die Suche Wurstbrot und Butterbrot aus, da in beiden Rezepten Brot enthalten ist.

Ich suche jetzt nach einer Möglichkeit, die Anzahl der Übereinstimmungen der gesuchten Zutaten mit dem jeweiligen Rezept auszugeben. (Bei der Suche nach Wurst und Brot, würde das Rezept Wurstbrot also 2 Übereinstimmungen liefern, Butterbrot nur eine.)

Hat jemand eine Idee?