从mysql表中获取用户列表

时间:2013-12-07 20:46:57

标签: php mysql

我有一个包含以下数据的MySQL表:

User  | Status 
------|-------
Bob   | online  
Mike  | online  
Karen | offline  
Joe   | online

有没有办法形成如下所示的查询,以便我找回所有在线用户的列表?

$query=  "SELECT User FROM User_table WHERE Status='online'";
$db->setQuery($query);
$userlist=$db->loadresult();

2 个答案:

答案 0 :(得分:0)

我假设您正在使用Joomla,因为我在jDatabase文档中找到了函数$db->setQuery()$db->loadResult()

在这种情况下,请注意$db->loadResult()仅返回第一个结果(也是特定列)。

您必须循环才能获得所有记录:

$userlist = array();
$query=  "SELECT User FROM User_table WHERE Status='online'";
$db->setQuery($query);
$results = $db->loadObjectList();
foreach ($results as $row) {
  $userlist[] = $row->User;
}

答案 1 :(得分:0)

$ db-> loadResult()只加载一条记录。要获得另一条记录,只需再次调用即可。

参考:http://docs.joomla.org/J1.5:Accessing_the_database_using_JDatabase

  

这些结果函数中的每一个都将从中返回单个记录   数据库,即使可能有几个记录符合   您设置的标准。要获得更多记录,您需要拨打电话   再次发挥作用。

或者您可以使用$db->loadRowList()来返回索引数组的索引数组,即查询的所有行和列。