2个不同的SQL语句合二为一

时间:2017-08-01 23:37:40

标签: php sql

我正在尝试首先从名为online_users的数据库中获取所有在线用户。然后我想显示每个用户是否在线,但我还想显示管理员和员工。管理员用户级别为3,员工级别为2。我的用户级表名是userLevel

我的在线抓取工作,但不只有管理员和员工。

我知道我现在的代码不起作用,但我自己试了一下。

我目前的代码是:

        $result  = mysqli_query($con, "SELECT * FROM online_users WHERE username = '$username_'");
        $result2 = mysqli_query($con, "SELECT * FROM users WHERE userLevel = '2' OR userLevel = '3'");
        $final_result = $con->query($result2) or die("Error");
        $count = mysqli_num_rows($result);

            //This is for our check to see which users are online and which are offline
            if ($count == '0') {
                $client_is_online .= '
                 <div class="lm-widget__item new">
                    <div class="lm-widget__title"><i class="fa fa-dot-circle-o" style="color: red;"></i><span>' . $username_ . ' (' . get_users_level_all($users_['userLevel']) . ')</span></div>
                 </div>
                ';
            } else if ($count > "0") {
                $client_is_online .= '
                 <div class="lm-widget__item new">
                    <div class="lm-widget__title"><i class="fa fa-dot-circle-o" style="color: green;"></i><span>' . $username_ . ' (' . get_users_level_all($users_['userLevel']) . ')</span></div>
                 </div>
                ';
            }

1 个答案:

答案 0 :(得分:1)

您应该在SQL查询中实现的是JOIN表方法。这样,您就可以在线显示用户以及用户级别

SELECT * FROM online_users INNER JOIN users 
WHERE username = '$username_' AND userLevel = '2' OR userLevel = '3'