2012-06-10 70 views
1

我有一個問題,從數據庫中獲取我的數據和foreach它。從數據庫中獲取數據使用從數組中的foreach

這是我得到的數據:

$results = $db->get_results('SELECT * 
    FROM `'.$db->base_prefix.'users` 
    LEFT JOIN `'.$db->base_prefix.'usermeta` ON '.$db->base_prefix.'users.id = '.$db->base_prefix.'usermeta.user_id 
    AND '.$db->base_prefix.'usermeta.meta_key=\''.'cpoints'.'\''.$extraquery.' 
    ORDER BY '.$db->base_prefix.'usermeta.meta_value+0 DESC' 
    . $limit . ';' 
    ,ARRAY_A); 

,當我打印的陣列其是這樣的:

(
[0] => Array 
(
[ID] => 4 
[user_login] => member3 
[user_name] => member3 
[user_email] => [email protected] 
) 

到目前爲止,一切都很好,但是當我要使用的數據,我得到空的結果, 我這是怎麼用的foreach:

foreach($results as $result){ 
    $user = $result[0]['ID'];   
    $username = $result[0]['user_login']; 
    $user_nickname = $result[0]['display_name']; 
    $gravatar = get_avatar($result[0]['ID'] , $size = '32'); 

我呼應值(例如$ user)放入表格中,然後它變空。

回答

3

$result引用中刪除[0]。它已經被foreach處理:

foreach($results as $result){ 
    $user = $result['ID'];   
    $username = $result['user_login']; 
    $user_nickname = $result['display_name']; //shouldn't this be user_name? 
    $gravatar = get_avatar($result['ID'] , $size = '32'); 
    //... 
} 

另外在你print_r結果有沒有這樣的字段display_name