2017-02-19 8 views
0

ロットを予約するWebサイトを作成し、有効期限が期限に達したときに有効期限をテーブルに保存すると、その行が削除されます。例えば有効期限に達したときに行を削除しますPHP Mysql

**表:予約

Reserve_date:2017年2月21日午後4:00

有効期限:2017年2月22日午後4: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); 

?> 

私がどのように達成することができますそれ?

+2

PHPで削除しようとするよりも、指定された日付に起動するトリガーを作成した方がよい場合があります。 –

答えて

0

MySQLでは、日付の形式はYYYY-MM-DD HH:MI:SSです。だから、

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

は、その後、あなたがそのプロセスが独立しているようにしたい場合は、行

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

を削除するため、このクエリを実行する必要がありますする必要があり、この形式で、任意の外部せずに変数に日付を格納する必要があります私はx時間ごとにチェックし、期限切れの行を削除するプロセスをサーバーに作成する必要があります。

サーバーにフルアクセスできる場合は、削除コードを使用してスクリプトを作成し(phpなど)、x秒、分、時間ごとにスクリプトを実行するcron行を作成できますあなたには格好いいギャップがあります。

スクリプトにphpを使用する場合は、スクリプトとして(Webサーバーなしで)phpを実行するために必要な依存関係がシステムにあることを確認してください。たとえば、debianではPHP-CLIパッケージが必要です。

関連する問題