У меня есть рабочий тестовый скрипт, который делает что-то довольно простое:
Получение order_id из одной таблицы и выбор всех данных для него из другой таблицы на основе этого order_id.
Это работаетно я немного растерялся из-за лучшего способа найти что-то еще в конце этого.
Возвращает ли мой запрос в $getOrderNumbers
одну или несколько записей, и следующий скрипт в цикле while будетвыполнить одну или несколько записей при каждом успешном выполнении для $getOrderDetails
Я хочу обновить другие поля моей таблицы STATUS
для первоначально выбранных записей.
Итак, это рабочий скрипт:
$getOrderNumbers = "
SELECT
ORDER_ID
FROM STATUS
WHERE ORDER_STATUS = 'S'
AND IS_ACTIVE = 0
";
try {
$getNumbers = $DB2conn->prepare($getOrderNumbers);
$ORDNumbers = $getNumbers->execute();
}catch(PDOException $ex) {
echo "QUERY ONE FAILED!: " .$ex->getMessage();
}
while ($row2 = $getNumbers->fetch(PDO::FETCH_ASSOC)) {
$orderNumParams = [
":ORDER_ID" => $row2["ORDER_ID"],
];
print_r($row2);
$getOrderDetails = "
SELECT *
FROM tableOne
WHERE invoice = :ORDER_ID
";
try {
$orderDetailCheck = $DB2conn->prepare($getOrderDetails);
$detailRslt = $orderDetailCheck->execute($orderNumParams);
$orderDetailCount = $orderDetailCheck->fetch();
print_r($orderDetailCount);
}catch(PDOException $ex) {
echo "QUERY ONE FAILED!: " .$ex->getMessage();
}
}
В основном, когда это успешно в запросе tableOne для каждой записи, я хочу запустить обновление STATUS следующим образом:
UPDATE STATUS
SET IS_ACTIVE = 1
AND DATE_UPDATED = CURRENT_DATE;
Как сделать так, чтобы при каждом успешном завершении язатем можно установить мою исходную таблицу и запись с помощью этого обновления?
Так что, если мой первый запрос получит ORDER_ID 123456, то когда моя вторая очередья успешен, я бы по существу запустил:
UPDATE STATUS
SET IS_ACTIVE = 1
AND DATE_UPDATED = CURRENT_DATE
WHERE ORDER_ID = 123456;