Ok guys I'm confused here. I'm trying to make an advanced search form for a website and I'm getting my self confused. I want visitors to be able to search by all three options. I have the following coding, is this how you would set this up or what would you guys recommend? I GREATLY appreciate any help on this!
I need this to work if someone searches with one word or multiple words. 🙂
if ($wordtype == 'All'){
$allwords = 'checked="checked"';
$searchvalue = explode(" ",$searchvalue);
for($i=0;$i<count($searchvalue);$i++){
if($bytitle){
$sorttitle = 'checked="checked"';
$aWhere[] = 'product LIKE "%' . $searchvalue[$i] . '%"';
}
if($byfulldescr){
$sortfulldescr = 'checked="checked"';
$aWhere[] = 'fulldescr LIKE "%' . $searchvalue[$i] . '%"';
}
if($bysku){
$sortsku = 'checked="checked"';
$aWhere[] = 'productsku LIKE "%' . $searchvalue[$i] . '%"';
}
}
$sWhere = 'WHERE ' . implode(' OR ', $aWhere);
$sql = "" . $searchall . " " . $sWhere ." AND forsale = 'Y' GROUP BY productid";
}
if ($wordtype == 'Any'){
$anyword = 'checked="checked"';
$searchvalue = explode(" ",$searchvalue);
for ($i=0;$i<count($searchvalue);$i++){
$test .= ' +'.$searchvalue[$i];
}
if ($bytitle && $byfulldescr && $bysku){
$sorttitle = 'checked="checked"';
$sortfulldescr = 'checked="checked"';
$sortsku = 'checked="checked"';
$sql = "SELECT productid, price, product, descr, fulldescr FROM products
WHERE MATCH (product, fulldescr, productsku)
AGAINST ('$test' IN BOOLEAN MODE)";
}
if ($bytitle && $byfulldescr){
$sorttitle = 'checked="checked"';
$sortfulldescr = 'checked="checked"';
$sql = "SELECT productid, price, product, descr, fulldescr FROM products
WHERE MATCH (product, fulldescr)
AGAINST ('$test' IN BOOLEAN MODE)";
}
if ($bytitle){
$sorttitle = 'checked="checked"';
$sql = "SELECT productid, price, product, descr, fulldescr FROM products
WHERE MATCH (product)
AGAINST ('$test' IN BOOLEAN MODE)";
}
if ($bysku){
$sortsku = 'checked="checked"';
$sql = "SELECT productid, price, product, descr, fulldescr FROM products
WHERE MATCH (productsku)
AGAINST ('$test' IN BOOLEAN MODE)";
}
if ($bytitle && $bysku){
$sorttitle = 'checked="checked"';
$sortsku = 'checked="checked"';
$sql = "SELECT productid, price, product, descr, fulldescr FROM products
WHERE MATCH (product, productsku)
AGAINST ('$test' IN BOOLEAN MODE)";
}
if ($bysku && $byfulldescr){
$sortfulldescr = 'checked="checked"';
$sortsku = 'checked="checked"';
$sql = "SELECT productid, price, product, descr, fulldescr FROM products
WHERE MATCH (productsku, fulldescr)
AGAINST ('$test' IN BOOLEAN MODE)";
}
if ($byfulldescr){
$sortfulldescr = 'checked="checked"';
$sql = "SELECT productid, price, product, descr, fulldescr FROM products
WHERE MATCH (fulldescr)
AGAINST ('$test' IN BOOLEAN MODE)";
}
echo $sql;
}
if ($wordtype == 'Exact'){
$exactphrase = 'checked="checked"';
if($bytitle)
$sorttitle = 'checked="checked"';
$aWhere[] = 'product = "'.$searchvalue.'"';
if($byfulldescr)
$sortfulldescr = 'checked="checked"';
$aWhere[] = 'fulldescr = "'.$searchvalue.'"';
if($bysku)
$sortsku = 'checked="checked"';
$aWhere[] = 'productsku = "'.$searchvalue.'"';
$sWhere = 'WHERE ' . implode(' OR ', $aWhere);
$sql = "" . $searchall . " " . $sWhere ." AND forsale = 'Y' GROUP BY productid";
}