diff options
| author | Simon | 2011-03-29 14:32:22 +0200 |
|---|---|---|
| committer | Simon | 2011-03-29 14:32:22 +0200 |
| commit | ca2d0af951b7914a1c48a3b3ec8d57a537729ead (patch) | |
| tree | 377df8674ed36fba3dd1a9d169f102d7233a5564 | |
| parent | Fehler geändert (diff) | |
| download | pbs2-ca2d0af951b7914a1c48a3b3ec8d57a537729ead.tar.gz pbs2-ca2d0af951b7914a1c48a3b3ec8d57a537729ead.tar.xz pbs2-ca2d0af951b7914a1c48a3b3ec8d57a537729ead.zip | |
Leere Filter (Filter ohne Filterentry) werden nun auch berücksichtigt
| -rw-r--r-- | library/Pbs/Filter.php | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/library/Pbs/Filter.php b/library/Pbs/Filter.php index 81ec205..dea61e4 100644 --- a/library/Pbs/Filter.php +++ b/library/Pbs/Filter.php @@ -346,6 +346,7 @@ class Pbs_Filter{ if($debuglevel >= 3) print_a('date',$result,$set[$filtertypID]); ######################################## + $result = array(); // ErgebnisSet auswerten if($debuglevel >= 2) print_a('the result sets of the filtertypes',$set); @@ -365,20 +366,26 @@ class Pbs_Filter{ print_a('Übereinstimmungen pro Filter',$a); // Get the number of filtertypes every filter has $stmt = $db->query( - "SELECT filterID,SUM(num) as num FROM ( + "SELECT f.filterID,SUM(num) as num FROM ( SELECT *, '1' as num FROM pbs_filterentries GROUP BY filterID, filtertypeID - ) d GROUP BY d.filterID"); + ) d RIGHT OUTER JOIN pbs_filter f ON d.filterID = f.filterID GROUP BY d.filterID"); $resultset = $stmt->fetchAll(); foreach($resultset as $d){ + if($d['num'] == NULL){ + $d['num'] = 0; + // write filter with empty filterrules in resultset + $result[] = $d['filterID']; + } + $database[$d['filterID']] = $d['num']; } if($debuglevel >= 2) print_a('Anzahl Filterentries in Datenbank',$database); // remove all filters from resultset, which to few filtertypes satisfied - $result = array(); + foreach($a as $i=>$b){ if($a[$i] < $database[$i]){ unset($a[$i]); |
