SQL Select Query Problem

Mororu

Mitglied
Hallo zusammen

Ich habe eine Frage bezüglich eines SQL Querys. Ich bin gerade daran eine Online DB für Kochrezepte anzulegen auf PHP Basis.
Nun möchte ich in den gespeicherten Rezepten nach verschiedenen Zutaten suchen können. Der User hat die Möglichkeit 1 - 3 Zutat einzugeben und dann
werden die entsprechenden Gerichte ausgegeben.

Zur veranschaulichung

tbl_menu
--------
menu_id menu_name menu_rezept
1 Penne Pollo xxxxxxxxxxx
2 Karottensuppe xxxxxxxxxxx


tbl_zutaten
-----------
zut_id zut_menu_id zut_menge zut_einheit zut_zutat
1 1 200 g poulet
2 1 1 dl Rahm
3 1 2 l bouillon
4 2 1 l Wasser
5 2 1 dl Rahm
6 2 1 dl Bouillon
7 2 1 St Karotte

Also das heisst das Feld zut_menu_id bezieht sich auf die menu_id der Tabell tbl_menu. Ich möchte nun die Suche so gestalten:

Begriff: Rahm => Ergebniss: Penne Pollo, Karottensuppe
Begriffe: Rahm, Bouillon => Ergebniss: Penne Pollo, Karottensuppe
Begriffe: Rahm, Bouillon, Karotte => Ergebniss: Karottensuppe

Also das heisst der User kann maximal 3 Suchbegriffe eingeben. Mit einem Suchbegriff ist das ganze kein Problem, aber wie stelle ich den Select zusammen, wenn mehr als nur nach einem Suchbegriff gesucht werden soll?

Habe folgenden Select probiert, ging aber nicht.

PHP:
select tbl_menu.menu_name from tbl_zut, tbl_menu where tbl_zut.zut_zutat like 'rahm' or tbl_zut.zut_zutat like 'bouillon' or tbl_zut.zut_zutat like 'rahm' group by tbl_zut.zut_menu_id and tbl_menu.menu_id = tbl_zut.zut_menu_id
 
Du könntest checken, ob in Textfeld Nr. 2 und 3 etwas eingetragen wurde.

z.B.:

PHP:
<?php

$feld2 = $_POST["feld2"];
$feld3 = $_POST["feld3"];

$sql = "select blabla from blabla ";

if(!empty($feld2)) {
  $sql .= "where tabelle LIKE '%$feld2%' ":
}

if(!empty($feld3)) {
 $sql .= "and tabelle LIKE '%feld3%' ";
}

$sql .= "order by blabla";

?>


Verstehst, wie ich meine?

Grüsse,

maeg
 
Ja das habe ich auch schon so gemacht. Tut mir leid ich habe mich wohl nicht verständlich ausgedrückt. Mein Select String gibt mir nicht die richtigen Resultate zurück. Ich möchte Tipps oder Lösungen um die richtigen Daten aus der Tabelle zu erhalten.

Sorry das ich für solche Missverständnisse gesorgt habe.
 
Zurück