@timurusubyan

Как вывести данные из бд, записать их в переменную и вставить в UPDATE?

Привет. php pdo
Подскажите, как можно получить данные из одной таблицы, сделать UPDATE и изменить значения в 2й таблице в зависимости от полученных значений.

Пример.
Есть 1 таблица PAY где есть все оплаты которые совершили пользователи, за каждой записью закрепляется id пользователя
Мне нужно получить id тех пользователей у которых оплата была совершена и статус = 1
Я думал сделать просто вот так

while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
print_r($row);
}
}


Затем я хочу эти данные записать как массив в переменную
И после этого с помощью UPDATE и еще одним запросом передать эти id пользователей из таблицы 1 в таблицу 2 и изменить статус пользователей в таблицы USERS в зависимости от того какие id пользователей я отправляю

$stmt = $pdo->prepare("UPDATE users SET status = :status WHERE id= :id");
  $stmt->execute(array(':status' => $status, ':id' => $id));


Т.е проще говоря вывести все записи из таблицы PAY у которых статус = 1, что значит оплата прошла
Получаю id этих пользователей у которых прошла оплата
Затем передаю эти id пользователей в запрос UPDATE и меняю в таблице USERS статус пользователя на 2, что значит у него все норм, оплатил

Надеюсь понятно объяснил, если что спрашивайте
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
samodum
@samodum
Какой вопрос - такой и ответ
Зачем делать две выборки и два SQL-запроса, если всё можно сделать одним SQL-запросом, только нужно правильно составить условие и апдейт.
И ещё, такие операции обычно делают в рамках транзакции
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы