Mysql显示所有管理员用户,但不显示登录的管理员

时间:2014-02-13 05:26:11

标签: php mysql

我的网络应用程序我有一个管理页面,在管理员可以添加新的管理员用户并查看所有管理员用户列表,我的问题如何查询选择所有管理员用户但不显示管理员本身已登录。

到目前为止,这是我的问题:

<div class="container">
        <table>
            <tr>
                <th>admin_id</th><th>Username</th><th>Date Registered</th><th>Added By</th><th>Status</th><th></th>
            </tr>
            <?php 
                $sql = "SELECT `admin_id`,`username`,`reg_date`,`added_by`,`status` FROM `admin`";

                if($stmt = $db->prepare($sql)) {
                    if($stmt->execute()) {
                        $stmt->bind_result($id, $username, $reg_date, $added_by, $status);
                        while ($stmt->fetch()) {
            ?>              <tr>
                                <td><?php echo $id; ?></td><td><?php echo $username; ?></td><td><?php echo date('M j, Y', strtotime($reg_date)); ?></td><td><?php echo $added_by; ?></td><td><?php echo $status; ?></td><td><a href="">Deactivate</a></td>
                            </tr>
                        <?php
                        }
                    }
                }
            ?>
        </table>
    </div>

我应该在查询中使用Where子句吗?但怎么样?任何帮助?提前谢谢。

1 个答案:

答案 0 :(得分:2)

只需添加一个WHERE子句:

$sql = "SELECT `admin_id`,`username`,`reg_date`,`added_by`,`status`
    FROM `admin`
    WHERE `username` != ?";

if($stmt = $db->prepare($sql)) {
    $stmt->bind_param('s', $variable_containing_the_logged_in_username); // Change this variable to match wherever you have the info
    if($stmt->execute()) {
        $stmt->bind_result($id, $username, $reg_date, $added_by, $status);
        while ($stmt->fetch()) {
            ?>
            <tr>
                <td><?php echo $id; ?></td><td><?php echo $username; ?></td><td><?php echo date('M j, Y', strtotime($reg_date)); ?></td><td><?php echo $added_by; ?></td><td><?php echo $status; ?></td><td><a href="">Deactivate</a></td>
            </tr>
            <?php
        }
    }
}