您好,我需要从名为“USERS”的表中选择所有具有特权 1、2 和 3 的用户。之后,我将使用他们的 ID 在另一个名为“Status”的表中进行新的选择。
<?php
include_once("include/connection.php");
$sql = 'select * from USERS where Privileges != "4"';
$rs = mysqli_query($connect, $sql) or die ("error");
$op = mysqli_num_rows($rs);
while($row = mysqli_fetch_array($rs))
{
$id = $row['ID'];
$name = $row['Name'];
$priv = $row['Privileges'];
$sql = 'select * from Status where ID="$id"';
$result = mysqli_query($connect, $sql) or die ("database error");
$gmon = mysqli_num_rows($result);
$login = $row['Login'];
switch($login)
{
case "ONLINE":
$login = "<font color=\"#84FB84\"><strong>".$name."</strong></font>";
break;
case "OFFLINE":
$login = "<font color=\"#46AAEB\"><strong>".$name."</strong></font>";
break;
}
$online_adms .= "<td>$login</td>";
}
?>
<?php echo $online_adms; ?>
更新 我无法获得“$login”变量的输出...如果我尝试输出“$name”或“$id”,它工作正常...但我需要输出“$login”。我想我可以在这里使用一些 INNER JOin ......
有什么线索吗?
谢谢。
解决方案
$sql = 'SELECT c.Name, c.ID, c.Privileges, d.Login FROM USERS c
INNER JOIN Status d
ON c.ID = d.ID
where Privileges != 4';