Я бы обновил поле значения определенного идентификатора, сгенерированного из цикла foreach
.SQL - PHP foreach variable ID out loop
$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']);
проблема заключается в том, что за пределами Еогеаспа переменной $post->user_id
не признается, но я нужен конкретный идентификатор команды, чтобы обновить его.
Спасибо всем.
Хранить его в переменной темп, объявленной перед циклом? – Akash
Для будущего кода: Вам не нужно указывать/возвращать имена столбцов и таблиц. Они только добавляют визуальный беспорядок и представляют собой еще один способ сделать синтаксические ошибки. Единственная причина, по которой вы нуждаетесь в них, - это то, что у вас есть имя столбца, которое является зарезервированным словом, и использование имен столбцов, которые являются зарезервированными словами, является ужасной идеей, так что это две вредные привычки, которые вы можете избежать сразу. –
@AndyLester: Цитаты также необходимы для идентификаторов, которые содержат символы ASCII, отличные от основных латинских букв, цифры 0-9, доллар, подчеркивание; или которые состоят исключительно из цифр. –
eggyal