Ik ben op dit moment een search script aan maken voor mijn video site. De criteria waar op gezocht moet worden is title, description en poster.
Nu heb ik met Jquery alles gemaakt en werkend maar ben niet blij met het backend script dat de query uitvoert.
Het kan bijvoorbeeld zijn dat iemand op title zoekt en dat stuurt $_GET['stitle'] naar het php bestand. Maar als iemand op description en title zoekt krijg je $_GET['stitle'] en $_GET['sdesc']
Hoe kan ik onderstaande code beter maken?
if($_GET['stitle'] != '') {
$output .= 'title<br>';
$db->query("SELECT * FROM media WHERE title LIKE '%".$_GET['stitle']."%'") ;
$maxpages = $db->numRows();
$db->query("SELECT * FROM media WHERE title LIKE '%".$_GET['stitle']."%' LIMIT ".$startpage.",".$numpages."") ;
}
if($_GET['sdesc'] != '') {
$output .= 'description<br>';
$db->query("SELECT * FROM media WHERE description LIKE '%".$_GET['sdesc']."%'") ;
$maxpages = $db->numRows();
$db->query("SELECT * FROM media WHERE description LIKE '%".$_GET['sdesc']."%' LIMIT ".$startpage.",".$numpages."") ;
}
if($_GET['spos'] != '') {
$output .= 'poster<br>';
$db->query("SELECT * FROM media WHERE poster LIKE '%".$_GET['spos']."%'") ;
$maxpages = $db->numRows();
$db->query("SELECT * FROM media WHERE poster LIKE '%".$_GET['spos']."%' LIMIT ".$startpage.",".$numpages."") ;
}
if(($_GET['sdesc'] != '') && ($_GET['stitle'] != '')) {
$output .= 'description en title<br>';
$db->query("SELECT * FROM media WHERE (title LIKE '%".$_GET['stitle']."%') AND (description LIKE '%".$_GET['sdesc']."%') ") ;
$maxpages = $db->numRows();
$db->query("SELECT * FROM media WHERE (title LIKE '%".$_GET['stitle']."%') AND (description LIKE '%".$_GET['sdesc']."%') LIMIT ".$startpage.",".$numpages."") ;
}
if(($_GET['stitle'] != '') && ($_GET['spos'] != '')) {
$output .= 'title en poster<br>';
$db->query("SELECT * FROM media WHERE (title LIKE '%".$_GET['stitle']."%') AND (poster LIKE '%".$_GET['spos']."%') ") ;
$maxpages = $db->numRows();
$db->query("SELECT * FROM media WHERE (title LIKE '%".$_GET['stitle']."%') AND (poster LIKE '%".$_GET['spos']."%') LIMIT ".$startpage.",".$numpages."") ;
}
if(($_GET['sdesc'] != '') && ($_GET['spos'] != '')) {
$output .= 'description en poster<br>';
$db->query("SELECT * FROM media WHERE (description LIKE '%".$_GET['sdesc']."%') AND (poster LIKE '%".$_GET['spos']."%') ") ;
$maxpages = $db->numRows();
$db->query("SELECT * FROM media WHERE (description LIKE '%".$_GET['sdesc']."%') AND (poster LIKE '%".$_GET['spos']."%') LIMIT ".$startpage.",".$numpages."") ;
}
if(($_GET['sdesc'] != '') && ($_GET['stitle'] != '') && ($_GET['spos'] != '')) {
$output .= 'alle drie<br>';
$db->query("SELECT * FROM media WHERE (title LIKE '%".$_GET['stitle']."%') AND (description LIKE '%".$_GET['sdesc']."%') AND (poster LIKE '%".$_GET['spos']."%') ") ;
$maxpages = $db->numRows();
$db->query("SELECT * FROM media WHERE (title LIKE '%".$_GET['stitle']."%') AND (description LIKE '%".$_GET['sdesc']."%') AND (poster LIKE '%".$_GET['spos']."%') LIMIT ".$startpage.",".$numpages."") ;
}
if(($_GET['sdesc'] == '') && ($_GET['stitle'] == '') && ($_GET['spos'] == '')) {
$output .= 'geen<br>';
$db->query("SELECT * FROM media LIMIT ".$startpage.",".$numpages."") ;
}
screenshot van de front-end:

Groet Karel