【发布时间】:2015-12-15 19:27:57
【问题描述】:
我想使用带有多个字段搜索选项(例如姓名、学院、部门、年份、国籍等)的 ajax 方法搜索数据。我有用于搜索的插入名称,其余字段为空,而不是进入 foreach 循环,但是这个 if (isset($_GET[$field]) && !empty($_GET['$field'])) 条件不成功并且去了否则循环
$fields = array(
'name' => TRUE,
'gender' => TRUE,
'colf' => TRUE,
'deptf' => TRUE,
'natf' => TRUE,
'fstatusf' => TRUE,
'fyearf' => TRUE
);
foreach ($fields as $field => $like) {
if (isset($_GET[$field]) && !empty($_GET['$field'])) {
$value = $_GET[$field];
$search[] = $field . ( $like ? ('LIKE "%' . $value . '%"') : ('="' . $value . '"') );
}
}
if ($search) {
$sql = 'SELECT * FROM fmaf WHERE ' . implode(' or ' . $search);
}
else{
$sql="SELECT * FROM fmaf";
}
【问题讨论】:
-
只传递用户提供的那些输入字段
-
拜托拜托,不要忘记验证/清理用户输入(例如
$_GET)