Commit 9ea4dd5a authored by Nico Schallehn's avatar Nico Schallehn

$GET_arr['Suche'] und Debug

parent 2c9bea05
...@@ -56,8 +56,8 @@ class MediaDBViewerAPI{ ...@@ -56,8 +56,8 @@ class MediaDBViewerAPI{
} }
else{ else{
// Wenn irgenein filter gesetzt ist... // Wenn irgenein filter gesetzt ist...
if( (isset($GET_arr['imdbID']) OR isset($GET_arr['3d']) OR isset($GET_arr['GenreID']) OR isset($GET_arr['Genre']) OR if( (isset($GET_arr['imdbID']) OR isset($GET_arr['3d']) OR isset($GET_arr['GenreID']) OR isset($GET_arr['Genre']) OR
isset($GET_arr['SchauspielerID']) OR isset($GET_arr['Schauspieler']) ) AND $GET_arr['Table'] == "Filme" ){ // Filterung nur für Tablle Filme!! isset($GET_arr['SchauspielerID']) OR isset($GET_arr['Schauspieler']) OR isset($GET_arr['Suche']) ) AND $GET_arr['Table'] == "Filme" ){ // Filterung nur für Tablle Filme!!
$first = true; $first = true;
$Where = "WHERE "; $Where = "WHERE ";
if(isset($GET_arr['imdbID']) AND is_numeric($GET_arr['imdbID'])){ if(isset($GET_arr['imdbID']) AND is_numeric($GET_arr['imdbID'])){
...@@ -69,25 +69,28 @@ class MediaDBViewerAPI{ ...@@ -69,25 +69,28 @@ class MediaDBViewerAPI{
$Where .= ($first?"":" AND ").'3d '.($GET_arr['3d']?"!=":"=").'""'; $Where .= ($first?"":" AND ").'3d '.($GET_arr['3d']?"!=":"=").'""';
$first = false; $first = false;
} }
if(isset($GET_arr['Suche'])){
$Suche = " `name` LIKE '".$GET_arr['Suche']."' OR
`year` =".$GET_arr['Suche']." OR
`md5` LIKE '".$GET_arr['Suche']."' OR
`resolution` LIKE '".$GET_arr['Suche']."' OR
`comment` LIKE '".$GET_arr['Suche']."'";
$Where .= (($first?"":" AND ").$Suche);
$first = false;
}
if(isset($GET_arr['GenreID'])){ if(isset($GET_arr['GenreID'])){
$Query = 'SELECT group_concat(fg.imdbID) AS imdbIDs FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE g.genreID IN ('.$GET_arr['GenreID'].') '; $Query = 'SELECT group_concat(fg.imdbID) AS imdbIDs FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE g.genreID IN ('.$GET_arr['GenreID'].') ';
$Query;
$Genre = $this->DB_Objekt->query($Query); $Genre = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);} if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$GenreArr = $Genre->fetch_array(); $GenreArr = $Genre->fetch_array();
//echo $GenreArr["imdbIDs"];
$Where .= (strlen($GenreArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$GenreArr["imdbIDs"].')'): ($first?" 0 ":"")); $Where .= (strlen($GenreArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$GenreArr["imdbIDs"].')'): ($first?" 0 ":""));
$first = false; $first = false;
} }
if( isset($GET_arr['Genre'])){ if( isset($GET_arr['Genre'])){
$Query = 'SELECT group_concat(fg.imdbID) AS imdbIDs FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE g.gername IN ("'.str_replace(",", '","', $GET_arr['Genre']).'") '; $Query = 'SELECT group_concat(fg.imdbID) AS imdbIDs FROM FilmGenre AS fg JOIN Genre AS g ON fg.genreID = g.genreID WHERE g.gername IN ("'.str_replace(",", '","', $GET_arr['Genre']).'") ';
//echo $Query;
$Genre = $this->DB_Objekt->query($Query); $Genre = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);} if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$GenreArr = $Genre->fetch_array(); $GenreArr = $Genre->fetch_array();
//echo $GenreArr["imdbIDs"];
$Where .= (strlen($GenreArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$GenreArr["imdbIDs"].')'): ($first?" 0 ":"")); $Where .= (strlen($GenreArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$GenreArr["imdbIDs"].')'): ($first?" 0 ":""));
$first = false; $first = false;
} }
...@@ -104,11 +107,11 @@ class MediaDBViewerAPI{ ...@@ -104,11 +107,11 @@ class MediaDBViewerAPI{
} }
if( isset($GET_arr['Schauspieler'])){ if( isset($GET_arr['Schauspieler'])){
$Query = 'SELECT group_concat(fs.imdbID) AS imdbIDs FROM FilmSchauspieler AS fs JOIN Schauspieler AS s ON fs.schauspielerID = s.schauspielerID WHERE s.name IN ("'.str_replace(",", '","', $GET_arr['Schauspieler']).'") '; $Query = 'SELECT group_concat(fs.imdbID) AS imdbIDs FROM FilmSchauspieler AS fs JOIN Schauspieler AS s ON fs.schauspielerID = s.schauspielerID WHERE s.name IN ("'.str_replace(",", '","', $GET_arr['Schauspieler']).'") ';
$this->DebugOut($Query." >>Zeile:".__LINE__); //$this->DebugOut($Query." >>Zeile:".__LINE__);
$Schauspieler = $this->DB_Objekt->query($Query); $Schauspieler = $this->DB_Objekt->query($Query);
if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);} if($this->DB_Objekt->error != ""){ return $this->error(1005, $this->DB_Objekt->error);}
$SchauspielerArr = $Schauspieler->fetch_array(); $SchauspielerArr = $Schauspieler->fetch_array();
$this->DebugOut($SchauspielerArr["imdbIDs"].">".strlen($SchauspielerArr["imdbIDs"])." >>Zeile:".__LINE__); //$this->DebugOut($SchauspielerArr["imdbIDs"].">".strlen($SchauspielerArr["imdbIDs"])." >>Zeile:".__LINE__);
$Where .= (strlen($SchauspielerArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$SchauspielerArr["imdbIDs"].')'): ($first?" 0 ":"")); $Where .= (strlen($SchauspielerArr["imdbIDs"])>0?($first?"":" AND ").str_replace(",)", ")", 'imdbID in ('.$SchauspielerArr["imdbIDs"].')'): ($first?" 0 ":""));
$first = false; $first = false;
} }
...@@ -116,21 +119,9 @@ class MediaDBViewerAPI{ ...@@ -116,21 +119,9 @@ class MediaDBViewerAPI{
// Überprüfen ob Schauspieler oder Genre gefordert wird // Überprüfen ob Schauspieler oder Genre gefordert wird
$SpaltenArr = explode(",", $GET_arr['Spalten']); $SpaltenArr = explode(",", $GET_arr['Spalten']);
$ListGenre = (in_array("Genre", $SpaltenArr)?true:false); $ListGenre = (in_array("Genre", $SpaltenArr)?true:false);
$ListSchauspieler = (in_array("Schauspieler", $SpaltenArr)?true:false); $ListSchauspieler = (in_array("Schauspieler", $SpaltenArr)?true:false);
//echo $GET_arr['Spalten']."<>";
// Lösche Schauspieler und Genre aus der Select Anweisung
$GET_arr['Spalten'] = str_replace("Genre,", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace(",Genre", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Genre", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Schauspieler,", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace(",Schauspieler", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Schauspieler", "", $GET_arr['Spalten']);
//echo $GET_arr['Spalten'];
/* wenn Genre oder Schauspieler gefordert sind, aber die imdbID nicht in der Spaltenliste ist... */ /* wenn Genre oder Schauspieler gefordert sind, aber die imdbID nicht in der Spaltenliste ist... */
$NoimdbID = false; $NoimdbID = false;
if((($ListGenre OR $ListSchauspieler) AND !in_array("imdbID", $SpaltenArr) AND ($this->iset($GET_arr['Spalten'], "*") != "*" ))){ if((($ListGenre OR $ListSchauspieler) AND !in_array("imdbID", $SpaltenArr) AND ($this->iset($GET_arr['Spalten'], "*") != "*" ))){
...@@ -139,10 +130,17 @@ class MediaDBViewerAPI{ ...@@ -139,10 +130,17 @@ class MediaDBViewerAPI{
}else{ }else{
$Select = $this->iset($GET_arr['Spalten'], "*"); $Select = $this->iset($GET_arr['Spalten'], "*");
} }
// Lösche Schauspieler und Genre aus der Select Anweisung
$GET_arr['Spalten'] = str_replace("Genre,", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace(",Genre", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Genre", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Schauspieler,", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace(",Schauspieler", "", $GET_arr['Spalten']);
$GET_arr['Spalten'] = str_replace("Schauspieler", "", $GET_arr['Spalten']);
$Query= "SELECT ".$Select. $Query= "SELECT ".$Select.
" FROM ".$GET_arr['Table']." " " FROM ".$GET_arr['Table']." "
.$Where .$Where
.$this->iset($GET_arr['Order'], " ", " ORDER BY ", " ") .$this->iset($GET_arr['Order'], " ", " ORDER BY ", " ")
.$this->iset($GET_arr['Limit'],"", " Limit "," ") .$this->iset($GET_arr['Limit'],"", " Limit "," ")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment