php
  • mysql
  • 2013-12-07 10 views 0 likes 
    0

    我有一個包含以下數據的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(); 
    
    +3

    嗯,你的意思就像你的查詢會做? –

    +0

    您是否嘗試過查詢? – peterm

    +0

    我在上面添加了我的php代碼。只返回1個用戶。 – nonlinearmind

    回答

    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; 
    } 
    
    0

    $ DB-> loadResult()只加載一個記錄。要獲得另一條記錄,只需再次調用它。

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

    這些結果將功能從 數據庫返回一個記錄,即使可能有多個記錄符合您所設定的 標準中的每一個。要獲得更多記錄,您需要再次調用 函數。

    或者您可以使用$db->loadRowList()這將返回索引數組的索引數組,即查詢的所有行和列。

    相關問題