找不到输出

时间:2017-04-13 07:26:28

标签: php mysql

<?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岁以上是不同的年龄。在上面的代码中我只得到了其他值。

2 个答案:

答案 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