Geschachtelte MYSQL abfrage

Hi,

habe volgende Abfrage:
$query1=’’;
if ($status1 0) {
if ($query1 != ‚‘) $query1 .= " OR ";
$query1 .= „status like '“ . $status1 . „’“;
}
if ($status2 0) {
if ($query1 != ‚‘) $query1 .= " OR ";
$query1 .= „status like '“ . $status2 . „’“;
}
if ($status3 0) {
if ($query1 != ‚‘) $query1 .= " OR ";
$query1 .= „status like '“ . $status3 . „’“;
}
if ($status4 0) {
if ($query1 != ‚‘) $query1 .= " OR ";
$query1 .= „status like '“ . $status4 . „’“;
}
if ($status5 0) {
if ($query1 != ‚‘) $query1 .= " OR „;
$query1 .= „status like '“ . $status5 . „’“;
}
if ($query1 ‚‘) $query1 .= " order by id“;

if ($login_status==‚ADM‘) {
$query = „SELECT * from it_auftrag_auftrag where $query1“;
}

if ($login_status==‚USR‘) {
if ($abt_leitung!=’’) {

// USR + Abteilungsleiter
$query = „SELECT * from it_auftrag_auftrag where verantwortlich_abt like '“ . $abt_leitung ."’ OR id like ‚" . $login_user ."‘ ";
if ($query1 != ‚‘) {
$query .= „AND $query1“;
}
echo „$query“;
}

Angenommen $login_status==USR dann soll er mir nur die aus der DB holen wo verantwortlich_abt gleich die angegebnen Abteilung ist, oder die id gleich dem eingelogten user ist. Wenn quer1 (ein formula mit checkboxen) nicht leer ist (also es wurde in den checkboxen was ausgewählt) auch nur die speziellen. Also sind das im prinzip zwei filter erst nach $login_status und $id und aus den ergebnissen soll er dann nich die herausfiltern die im Formular vorher mit checkbox (spezieller status von aufträgen) ausgewählt wurden.

wenn ich die abfrage wie oben starte macht es fast den anschein als würde er $query1 nie mit abfragen. wenn man sich $query aber ausgeben läst steht die AND verknüpfung mit im query.

wer kann mir helfen?

danke pfefferkeks

// USR + Abteilungsleiter
$query = „SELECT * from it_auftrag_auftrag where
verantwortlich_abt like '“ . $abt_leitung ."’ OR id like ‚" .
$login_user ."‘ ";
if ($query1 != ‚‘) {
$query .= „AND $query1“;
}

vielleicht musst du klammern setzen?

$query = "... where (verantwortlich\_abt like '" . $abt\_leitung ."' OR id like '" .$login\_user ."') ";
$query .= " AND ($query1) ";

vielleicht musst du klammern setzen?

Jup Danke man das wars :wink:

merci grüße pfefferkeks