【发布时间】:2016-01-25 21:12:19
【问题描述】:
我有一个包含 4 个字段的高级搜索,只有一个 name_first 是必填项
搜索有很多变体,因为其他字段不是强制性的,所以我需要一个 select 语句,只选择已填充的字段,但变体太多
我尝试了下面的脚本,但它没有显示正确的信息(我认为它完全错误?!)
$name_first=$_GET["name_first"];
$status=$_GET["status"];
$type=$_GET["type"];
$manstaff=$_GET["manstaff"];
$result401=mysql_query("SELECT * FROM `hr_employees` WHERE
(name_first LIKE '$name_first%')
AND
(status LIKE '$status%')
AND
(manages_staff LIKE '$manstaff%');")or die('Error' . mysql_error());
任何想法上面的脚本应该是什么?基本上如果字段没有填写就不需要搜索了?
【问题讨论】:
-
把这个
$name_first%改成这个%$name_first% -
谢谢,但是它仍然没有涵盖搜索的所有变体?如果我将字段 EG 状态填写到与 name_first 不匹配的内容,它仍然会根据 name_first 显示一个结果,如果这有意义吗?
-
为什么使用 AND 而不是 OR ??任何原因 ??为什么
name_first IS NULL?? -
好像所有的字段都完成了就需要AND?
-
那么在最坏的情况下,如果只设置了第一个变量??