首页 > 解决方案 > 下拉列表中的 if 语句取决于数据库值和用户登录

问题描述

我的问题是关于一个下拉列表,它取决于已分配给登录用户的数据库值。我使用会话变量来识别登录用户。

如果登录的用户的联系人 ID 为 1 或 2,我希望一个下拉列表显示 3 个选项。如果登录的用户的联系人 ID 为 3,则下拉列表仅显示 2 个值。

我的代码在下面,它连接到数据库并从查询中获取数据。如果查询值不为空,则第一个下拉列表显示 2 个值,如果查询值为空,则第二个下拉列表显示 3 个值。

<?php $connect = mysqli_connect('localhost', 'dm459', 'dm459', 
'dm459_kiamycontacts'); //This is my connection to the database

$query = "SELECT * FROM employee WHERE contactID = 3 AND 
               employeeUsername = '" .$_SESSION['User'] . "' LIMIT 1"; 
    //This is the query to the database

                $result1 = mysqli_query($connect, $query); ?>

                <select id="dropdown">
        <?php $row1 = mysqli_fetch_array($result1);

                    if(!empty($row1)) { ?>
                    <option class="select" value="0">Kia Academy</option>
                    <option class="select" value="1">
                     Dealer Development</option> <?php }

                    elseif (empty($row1)) { ?>
                    <option class="select" value="0">Kia Academy</option>
                    <option class="select" value="1">
                    Dealer Development</option>
                    <option class="select" value="2">Dealership</option>
                <?php } ?>

                </select>

标签: phpmysqlsqldatabasedrop-down-menu

解决方案


使用联系人 ID,您可以这样做:

if(3 == $row1['contactID']) {
   // display 2 options
} elseif(2 == $row1['contactID'] || 1 == $row1['contactID']) {
  // display 3 options
}

推荐阅读