Đây là một ví dụ nhanh. Tôi không biết JRequest ::getVar trả về loại dữ liệu nào (luôn là một chuỗi hay các kiểu hỗn hợp?) Nhưng điều này sẽ giúp bạn bắt đầu. Đảm bảo sử dụng bất kỳ phương pháp thoát nào áp dụng trong vòng lặp foreach:
if ($post) {
$criteria = array();
//get all search variables
$criteria['type'] = JRequest::getVar('type');
$criteria['classifications'] = JRequest::getVar('classifications', array(0), 'post', 'array');
$criteria['rating'] = JRequest::getVar('rating');
//if there are some criteria, make an array of fieldName=>Value maps
if(!empty($criteria)) {
$where = array();
foreach($criteria as $k => $v) {
//IMPORTANT!!
//$v is the value of the field, needs to be quoted correctly!!
$where[] = "$k = '$v'";
}
}
//create search string
$query = "SELECT * FROM #__db_clients";
if($where) {
$query .= " where " . join(' AND ', $where);
}
} else {
echo 'There has been an error, please try again.';
};