【发布时间】:2013-07-04 04:06:35
【问题描述】:
我正在尝试实现用户可以搜索 18 岁以上或以下的候选人的搜索。
搜索中年龄组件的html:
Age<select id ='eighteen' name="eighteen" size="1" >
<option value="Below Eighteen">Below Eighteen</option>
<option value="Above Eighteen">Above Eighteen</option>
<option value="Any">Any</option>
</select>
php代码:
$age = trim($_POST['eighteen']);
$query2 = mysql_query("SELECT * FROM p_candidate WHERE YEAR(CURDATE())-YEAR(`age`) >= 18");
$query = mysql_query("SELECT * FROM p_candidate WHERE YEAR(CURDATE())-YEAR(`age`) < 18");
if ($age =="Below Eighteen") {$dob = $query;}
if ($age == "Above Eighteen") {$dob = $query2;}
$Odata = mysql_query("SELECT * FROM p_candidate WHERE(`gender` LIKE '%".$Gender."%') AND (`age` LIKE '%".$dob."%')") or die(mysql_error());
当我在不填写搜索表单中的性别字段的情况下运行此代码时,我没有得到任何结果。我怎样才能让它工作?我需要修改哪个部分?
我的数据库在 mysql 中,候选人的出生日期存储在名为 age 的列中
【问题讨论】:
-
2 if 语句 ???一个人的年龄怎么可能同时低于 18 岁或高于 18 岁?尝试其他如果:)
-
如果他们正好是 18 岁呢?
-
我已将 query2 更改为 $query2 = mysql_query("SELECT * FROM p_candidate WHERE YEAR(CURDATE())-YEAR(
age) >= 18"); -
@HardikThaker - 试过 elseif 但没用
-
$data = mysql_query("SELECT * FROM p_candidate WHERE (
genderLIKE '%".$Gender."%') AND (ageLIKE '%".$dob."% ')") 或死(mysql_error());