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