Я пытаюсь сделать так, чтобы срок действия кода подтверждения истек, когда дата выигрыша устарела, а затем 1 день в таблице победителей mysql.Мой php-код работает нормально и устанавливает для параметра translation_status значение «expired», но когда существует более 1 строки с одинаковым идентификатором id_recharge_winner, скрипт переводит все эти строки в «expired».Я хотел бы, чтобы только старые были исключены.
Помогите мне, пожалуйста
Мои победители стола таковы:
|id_recharge_winner |confirmation_code |confirmation_status| date_confirmation |date_win|
-------------------------------------------------------------------------------------------
1 |8eomdv | not confirmed |NULL |2019-01-20 23:58:41
1 |ioozpu | not confirmed |NULL |2019-02-02 09:57:10
1 |cpq2vp | not confirmed |NULL |2019-01-26 01:05:18
2 |tnymsp | not confirmed |NULL |2019-02-02 01:09:54
2 |qh8lqq | not confirmed |NULL |2019-02-02 06:14:37
2 |jgg3xi | not confirmed |NULL |2019-01-26 01:22:40
3 |cukxc5 | expired |NULL |2019-01-26 01:33:11
4 |3ixoj4 | not confirmed |NULL |2019-01-26 01:43:42
5 |20bqrn | not confirmed |NULL |2019-01-26 11:18:16
6 |lebx61 | not confirmed |NULL |2019-02-02 12:40:27
6 |7tgoaz | not confirmed |NULL |2019-01-26 12:42:41
6 |kphs5k | not confirmed |NULL |2019-01-26 12:51:33
6 |6vxcy9 | not confirmed |NULL |2019-01-26 13:07:23
7 |sttyul | not confirmed |NULL |2019-01-26 13:11:47
Мой php:
for ($i=1;$i<=7;$i++){
//Verify if confirmation code is expired
$sql_expired = "SELECT id_recharge_winner, date_win, date_confirmation
FROM winners
WHERE id_recharge_winner ='$i'";
$result_expired = mysqli_query($conn, $sql_expired);
if (mysqli_num_rows($result_expired) > 0) {
while($row = mysqli_fetch_assoc($result_expired)){
$id_recharge_winner = $row['id_recharge_winner'];
$date_win = $row['date_win'];
$date_confirmation = $row['date_confirmation'];
$expiration_delay = 1; //One day
if ((time() - $date_win) >= $expiration_delay) {
$sql_set_expired = "UPDATE `winners`
SET `confirmation_status` = 'expired'
WHERE confirmation_status = 'not confirmed'
AND id_recharge_winner = '$id_recharge_winner'";
$set_expired_result = mysqli_query($conn, $sql_set_expired);
}
}
}
}