@yischyk

Почему не делается update в цикле foreach?

$groups_get = json_decode(file_get_contents('https://api.vk.com/method/groups.getById?group_ids=27895931,43215063&access_token=ТОКЕН&fields=photo_50,members_count&v=5.101'), true);
    foreach ($groups_get['response'] as $r) {
        $id = $r['id'];
        $name = $r['name'];
        $members = $r['members_count'];
        $price = round($members/1000);
        $res_pr = round($price + $price*0.002);
        mysqli_query($connect, "UPDATE `groups` SET `group_id` = '$id', `group_name` = '$name', `members_count` = '$members', `price` = '$res_pr'");
    }


1. Делаю запрос на получение данных групп вк
2. Циклом смотрю эти данные
3. Заливаю их в бд, а там только один из этих пабликов залит два раза.
  • Вопрос задан
  • 264 просмотра
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
update чего именно? У вас в коде написано: на каждой итерации цикла обнови все строки таблицы.
Совершенно логично, что в результате выполнения скрипта все строки таблицы будут содержать данные с последней итерации цикла.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
3. Заливаю их в бд, а там только один из этих пабликов залит два раза.
Вы не заливаете, а "обновляете имеющиеся".
Читайте хоть какие-то базовые вещи перед использованием.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы