我正在尝试执行搜索,用户可以搜索18岁以上或以下的候选人。在搜索期间选择使用dob的年龄组
在搜索时代组件的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和候选人的DOB都存储在一个名为年龄
2 ???一个人的年龄如何在同一时间低于18岁或以上?试试其他如果:) –
如果它们恰好是18呢? – andrewsi
我已经将query2更改为$ query2 = mysql_query(“SELECT * FROM p_candidate WHERE YEAR(CURDATE()) - YEAR('age')> = 18”); – user2510479