diff --git a/application/models/ressource/Stundenplan_model.php b/application/models/ressource/Stundenplan_model.php index e29030279..77b1619dc 100644 --- a/application/models/ressource/Stundenplan_model.php +++ b/application/models/ressource/Stundenplan_model.php @@ -203,7 +203,7 @@ class Stundenplan_model extends DB_Model if(count($gruppen) != 0 || count($studentlehrverbaende) != 0) { - $query .= "AND ( "; + $query .= " AND ( "; } if(count($gruppen) != 0) @@ -211,8 +211,13 @@ class Stundenplan_model extends DB_Model $query .="sp.gruppe_kurzbz IN (".implode(',',$gruppen).")"; } - foreach($studentlehrverbaende as $lehrverband){ - $query .= "OR (sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND sp.verband = ".$this->escape($lehrverband->verband)." AND sp.gruppe = ".$this->escape($lehrverband->gruppe).")"; + foreach($studentlehrverbaende as $key=>$lehrverband){ + // only append OR if not first entry or previous condition was added + if(($key == 0 && count($gruppen) != 0) || ($key > 0)) + { + $query .= " OR "; + } + $query .= "(sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND sp.verband = ".$this->escape($lehrverband->verband)." AND sp.gruppe = ".$this->escape($lehrverband->gruppe).")"; } if(count($gruppen) != 0 || count($studentlehrverbaende) != 0) @@ -262,4 +267,4 @@ class Stundenplan_model extends DB_Model return $this->execQuery($query, [$uid, $uid]); } -} +} \ No newline at end of file