我会更新从foreach
循环生成的特定ID的值字段。
$sql = "SELECT `user_id`,
max(case when `meta_key` = 'link' then `meta_value` end) as link ,
max(case when `meta_key` = 'team' then `meta_value` end) as team ,
max(case when `meta_key` = 'points' then `meta_value` end ) as points
FROM wp_usermeta GROUP BY `user_id` ORDER BY points DESC";
global $wpdb;
$usermeta = $wpdb->get_results($sql) or die(mysql_error());
foreach ($usermeta as $post)
echo "<li> name: ". $post->team ."<br/> link: ". $post->link . "<br/> obtain: " .$post->points. " points </li>" ;
页面上的输出类似于:
团队:曼彻斯特链接:manunited.co.uk积分:8
用户可以投票给团队,团队可以获得8分,所以我需要这样更新。
update_usermeta( $post->user_id , 'points', $_POST['points'] );
问题是,在foreach之外,变量$post->user_id
无法识别,但我需要团队的特定ID来更新它。
感谢大家。
答案 0 :(得分:0)
我相信你需要声明:
global $post;
在foreach循环之外。