我到处寻找,似乎无法找到解决问题的答案。
我有一个在线消息系统,我想为用户实现在线和离线状态。但无论我用这个代码做什么......我似乎无法让它运作起来。任何帮助将不胜感激。请注意,除了与$online
和q2
变量有关的代码之外,我不想更改任何现有代码。
我的代码是:
<?php
//show all the users expect me
$q = mysqli_query($con, "SELECT * FROM `users` WHERE id!='$user_id'");
$q2 = mysqli_query($con, "SELECT status FROM `users`");
//display all the results
while($row = mysqli_fetch_assoc($q2)){
$online = $row['status'];
if($online == "online"){
$tcolor = "green";
}
elseif($online=="offline"){
$tcolor = "red";
}
elseif($online ==""){
$tcolor= "gray";
}
}
while($row = mysqli_fetch_assoc($q)){
echo "<a href='/users/pm?id={$row['id']}'><li style='border-left:{$tcolor} 15px solid;'><img src='{$row['pic']}'> {$row['name']}</li></a>";
}
?>
答案 0 :(得分:0)
您设置$online
的逻辑相反。它应该是:$online = $row['status'];
以下编辑:
您原来的$q2
是不必要的,因为它只是检索状态列,并且没有任何内容链接到用户。此外,您还可以在$q
中获得所需的所有数据。
<?php
//show all the users expect me
$q = mysqli_query($con, "SELECT * FROM `users` WHERE id!='$user_id'");
//display all the results
while($row = mysqli_fetch_assoc($q)){
$online = $row['status'];
if($online == "online"){
$tcolor = "green";
}
elseif($online=="offline"){
$tcolor = "red";
}
elseif($online ==""){
$tcolor= "gray";
}
echo "<a href='/users/pm?id={$row['id']}'><li style='border-left:{$tcolor} 15px solid;'><img src='{$row['pic']}'> {$row['name']}</li></a>";
}
?>