Reputation: 1050
I have a problem getting my data from database and foreach it.
This is how I get data:
$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);
and when I print array its something like this:
(
[0] => Array
(
[ID] => 4
[user_login] => member3
[user_name] => member3
[user_email] => [email protected]
)
So far everything is great, but when I want to use data I get empty result, this is how I used 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' );
I echo the values (for example $user ) into tables after this and it comes out empty.
Upvotes: 1
Views: 23463
Reputation: 4775
Remove [0]
from all $result
references. It is already handled by 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' );
//...
}
Also in you print_r
result there's no such field display_name
.
Upvotes: 3