Suchen in mehreren Abteilungen

Thomas_Jung

Erfahrenes Mitglied
Guten Morgen

Ich möchte im Feld Bezeichnung nach Begriffen suchen wobei gleichzeitig im Feld Abteilung entweder Rechnung, 10/1000, Buchhaltung oder Vorstand steht.
Beispiel:
$query .= "(Bezeichnung LIKE '%".$suchen_array[$i]."%' AND Abteilung = 'Rechnung' OR ";
$query .= " Bezeichnung LIKE '%".$suchen_array[$i]."%' AND Abteilung = '10/1000' OR ";
$query .= " Bezeichnung LIKE '%".$suchen_array[$i]."%' AND Abteilung = 'Buchhaltung' OR ";
$query .= " Bezeichnung LIKE '%".$suchen_array[$i]."%' AND Abteilung = 'Vorstand' ) ";

Gibt es eine Möglichkeit die Abfrage zu vereinfachen?

So etwas in der Art :confused:
($query .= "(Bezeichnung LIKE '%".$suchen_array[$i]."%' AND Abteilung = Rechnung oder 10/1000 oder Buchhaltung oder Vorstand) ";

Gruß Thomas
 
Ich habe es zwar nicht gestetet, aber ich denke, so sollte es gehen:
PHP:
$query .= "(Bezeichnung LIKE '%".$suchen_array[$i]."%' AND (Abteilung = 'Rechnung' OR Abteilung = '10/1000' OR Abteilung = 'Buchhaltung' OR Abteilung = 'Vorstand' ))";

redlama
 
Hallo redlama
Es hat Funktioniert. Danke

Eine andere Frage hätt ich da noch, vieleicht weißt du ja eine Antwort darauf?
In der Tabelle users gibt es folgende Felder:
userid, firma, name, abteilung1, abteilung2,abteilung3, u.s.w mit den abteilungen.
Im Feld abteilung1 steht z.b Buchhaltung im Feld abteilung2 steht z.b Rechnungen u.s.w mit den abteilungen

Die Abfrage lautet:
$query .= " Bezeichnung LIKE '%".$suchen_array[$i]."%' AND (Abteilung = $_SESSION['abteilung1'] OR Abteilung = $_SESSION['abteilung2'] OR Abteilung = $_SESSION['abteilung3'] OR Abteilung = $_SESSION['abteilung4']" ) AND Firma = '$_SESSION[user_firma]' )";

Ist es möglich alle Abteilungen getrennt duch eine # (oder sonstiges Zeichen) in ein Feld zu schreiben und die Abfrage auf ein Feld zu beziehen. :confused:

Gruß Thomas
 
Das kann ich Dir nicht so genau sagen. Ich habe immer einzelne Spalten für einzelne Daten gewählt. Ich weiß auch nicht, ob das wirklich soviel besser wäre, denn Du müsstest ja dann alles in einer Spalte suchen. Ich würde es so lassen, wie es ist!

redlama
 
Hallo
Ich finde es ja auch nicht schlecht so.
Ich muß 30 bis 50 Abteilungsfelder anlegen und hatte gedacht es gibt bestimmt auch eine einfachere Lösung.

Gruß Thomas
 
Du kannst die Abfrage übrigens auch so machen:
PHP:
$query .= "(Bezeichnung LIKE '%".$suchen_array[$i]."%' AND Abteilung IN ('Rechnung',  '10/1000',  'Buchhaltung', 'Vorstand' ))";
Das sollte das ganze noch ein wenig vereinfachen!

redlama
 
Hallo
Das hatte ich bereits probiert aber es hatte irgendwie nicht hingehauen. (Zu viele abfragen auf einmal) :confused: :confused:
Werde es aber noch einmal intensiv testen gebe dir bescheid ob´s klappt.
Danke Thomas
 
Zurück