удалить строку, когда она достигла срока годности PHP Mysql

Я создаю веб-сайт, который зарезервирует лоты, а затем сохранит дату окончания срока действия в таблицу. Когда срок действия истечет до крайнего срока, он удалит строку. Например

** стол: бронирование

Дата резервирования: 21 февраля 2017 г., 16:00

срок действия: 22 февраля 2017 г., 16:00 **

<?php
$date = date('d M Y h:i A'); //for example it's 22 Feb 2017 4:30 PM

$sql = "DELETE FROM reservation WHERE expiration *do codes here*";
$conn->query($sql);

?>

Как мне этого добиться?

0

Решение

В MySQL формат даты: ГГГГ-ММ-ДД ЧЧ: МИ: СС. Так что вам нужно хранить дату в переменной в этом формате

$date = date('Y-m-d H:i:s');

Затем вам нужно выполнить этот запрос для удаления строки

$sql = "DELETE FROM reservation WHERE expiration = '$date' ";
0

Другие решения

Если вы хотите, чтобы этот процесс был независимым и без какого-либо внешнего вмешательства, я боюсь, вам нужно будет создать процесс на сервере, который будет проверять каждый раз x и удалять строки с истекшим сроком.

Если у вас есть полный доступ к серверу, вы можете создать скрипт (в php или другом) с кодом удаления, а затем создать строку cron, которая будет запускать скрипт каждые x секунд, минут, часов … в любое удобное для вас время ,

Если вы хотите использовать php для сценария, убедитесь, что в вашей системе есть зависимости, необходимые для выполнения php в качестве сценариев (без веб-сервера). Например, в Debian вам понадобится пакет php-cli.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector