如何将 $typ = $POST['type'] 与所选的休假类型进行比较?

休假申请表我无法找到将所选休假类型 $typ === 2 与病假 ID 进行比较的方法。

$typ = $_POST['typ'] 存储从数据库中获取的休假类型,例如年假和病假。如果我从表格中选择休假类型并且它是病假,那么我只需要在休假表中插入 leave_date 和 resume_date 否则如果选择的休假类型是年度,那么我需要在休假表中插入 leave_date、resume_date 作为那么更新 leave_entitlement 表只是为了减少 leave_entitlement 余额

这是我的表格的摘录

 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >

 <div class="row form-group">     

  <div class="col-lg-12">

  <label>Leave Type</label>

  <select size="1" name="typ">

  <?php 


        $typs = mysqli_query($dbconn,"select * from type") or die('Query 

        failed: ' . mysqli_error());


        while ($line = mysqli_fetch_array($typs)) 

        { 

            echo "<option value='" . $line['typ_id'] . "'>"; 

            echo $line['typ_name'] . "</option>"; 

        } 

    ?> 

    </select>

  </div>

 </div>  

    </form>

问题是当我从表单中选择年假或病假时,我的 if 语句的 else 部分总是被执行。这意味着即使我选择病假, leave_entitlement 余额也会始终减少


蓝山帝景
浏览 180回答 1
1回答

慕森王

您使用比较器===来比较值和数据类型。$typ 的数据类型是 String,因此"2" === 2将返回 false。如果你想使用,===你可以通过使用将 $typ 转换为整数,(int) $typ或者只是更改===为==.
打开App,查看更多内容
随时随地看视频慕课网APP