我不知道如何在以下代码中将“=”标准与“LIKE”结合起来。
该代码用于使用多个条件进行搜索。使用这个 cat_id 的搜索是好的,希望我不希望它的标准成为“LIKE”标准的一部分;相反,它应该是“=”,以便我可以在搜索中获得完全匹配。您的帮助将不胜感激。
$criteria = array('ctitle', 'csubject', 'creference', 'cat_id', 'cmaterial', 'ctechnic', 'cartist', 'csource', 'stolen');
$likes = "";
$url_criteria = '';
foreach ( $criteria AS $criterion ) {
if ( ! empty($_POST[$criterion]) ) {
$value = ($_POST[$criterion]);
switch ($criterion) {
case 'cat_id':
$likes .= " AND `$criterion`='$value'";
break;
default:
$likes .= " AND `$criterion` LIKE '%$value%'";
break;
$url_criteria .= '&'.$criterion.'='.htmlentities($_POST[$criterion]);
} }
} elseif ( ! empty($_GET[$criterion]) ) {
$value = mysql_real_escape_string($_GET[$criterion]);
switch ($criterion) {
case 'cat_id':
$likes .= " AND `$criterion`='$value'";
break;
default:
$likes .= " AND `$criterion` LIKE '%$value%'";
break;
$url_criteria .= '&'.$criterion.'='.htmlentities($_GET[$criterion]);
} //var_dump($likes);
}
$sql = "SELECT * FROM collections WHERE c_id>0" . $likes . " ORDER BY c_id ASC";