2012-06-10 38 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