一个SQL查询活动用户和非活动用户?

时间:2015-04-08 09:02:22

标签: php

数据库中有一个表包含用户名,状态(活动或非活动)。我需要显示一个包含两个组的页面。第一组将用于活动用户,第二组将用于非活动用户。只允许使用一个选择查询。这意味着两个组没有单独的SQL语句。

2 个答案:

答案 0 :(得分:0)

您可以使用'if'分隔

<?php
$sql = "SELECT * FROM tblUser";
$query = mysql_query($sql);

$result = mysql_fetch_array($query);

foreach($result as $user){
    if($user['status'] == 'active'){
        //your code here...
    }else{
        //your code here...
    };
};

?>

答案 1 :(得分:-1)

你可以做的就是立即将它们全部拉入,然后当你写入页面时,你可以循环两次,一次回显所有活动用户,一次回显所有非活动用户。这将是一个快速而肮脏的解决方案。

编辑:是的,您可以按状态订购,只需一个循环。

只是一个简单的示例(如果您已经订购了它,那么首先激活(order by 'status' ASC)):

    echo "Active:<br /><ul>";
    $current = 'a';
    foreach($accounts as $c)
    {
        // Switch to the inactive list if your current list is still active, and your current item is inactive
        if($c->status == "inactive" && $current == 'a'){
        echo "</ul><br />Inactive<br /><ul>";
        $current = "i";
        }
        echo "<li>$c->username</li>"

    }