<?php
$age1 = isset($_POST['age1']) ? $_POST['age1'] : false;
if ($age1 <= "18")
{
$sql = 'select * from events where type_id='.$id.' and id = 1 ';
}
else if (isset($_POST['age1']) > "18")
{
$sql = 'select * from events where type_id='.$id.'';
}
$tid = mysqli_query($conid, $sql);
?>
这是我的HTML代码
<tr>
<td class="style1">Date of Birth:</td>
<td class="style2"><input type="text" name="dob" id="dob" class="form-control22" required autocomplete="off"></td>
</tr>
<tr>
<td class="style1">Age:</td>
<td class="style2"><input type="text" name="age1" id="age1" class="form-control22" autocomplete="off"></td>
</tr>
<tr>
<td class="style1">Event Type:</td>
<td class="style2">
<select name="event_id" class="ddl" id="event_id" onchange="geteventprice()">
<option value="0">--Select Event Type--</option>
<?php while($evt= mysqli_fetch_object($tid)){
echo '<option value="'.$evt->id.'">'.$evt->name.'</option>'; } ?>
</select>
</td>
将显示选择dob
事件
十八岁以下是不同的事件,18岁以上是不同的年龄。在上面的代码中我只得到了其他值。
答案 0 :(得分:0)
你的其他如果条件将永远返回false,即使年龄大于18,因为isset($_POST['age1'])
将返回bool(true)并且你的条件> 18
永远不会满足
用
替换此代码 else if (isset($_POST['age1']) > "18")
else if ($age1 > 18)
答案 1 :(得分:0)
因为else if (isset($_POST['age1'])
是真或假,不能是> 18
这样做;
$age1 = isset($_POST['age1']) ? $_POST['age1'] : false;
if($age1) {
if($age1 <= 18) {
$sql = "below 18";
}
if($age1 > 18) {
$sql = "over 18";
}
echo $age1;
} else {
echo 'no age given';
}
http://sandbox.onlinephpfunctions.com/code/3f756d52ed64c2c1334f628a27312d2501b51395