0

start_date 列と end_date 列を持つ、reservations というテーブルがあります。

date_diff(start_date と end_date) が 30 の場合、end_date の 8、2、1 日前にメールを送信する必要があります。以下と同じ..

60 – 15,4 & 1 120 以上 – 30, 8, 2 & 1... これを行う方法はありますか??

4

4 に答える 4

0

できることは、2 つのテーブルを作成することです。1 つはメインの予約情報用で、2 つ目は送信日 (または送信リマインダー日) の保存用です。

レコードを保存すると、現在の日付と end_date の差が取得されます。差が 30 になる場合は、end_date の 8、2、1 日前に send_dates を保存する必要があります。あなたが持っている他の条件と同じです。

次に、(毎日実行される) cron ジョブを作成して、send_dates = 現在の日付の 2 番目のテーブルを確認します。その後、条件が満たされた場合にメールを送信します。

これがあなたが必要とするものであることを願っています

于 2011-10-03T08:45:13.843 に答える
0

この種のことを行うためにcronjobをセットアップします。

于 2011-10-03T07:56:37.237 に答える
0

クエリ用に 3 つの個別の SQL ステートメントを記述して、これらを機能させます。

次に、これらをphpのmysql_queryに入れ、行数> 0の場合に変数を設定します

変数で isset を使用して電子メール smtp スクリプトに

毎朝チェックするcronジョブを設定します。

于 2011-10-03T07:59:28.323 に答える
0

SELECT *,DATEDIFF(CURDATE(), end_date) as DIFF FROM TABLE WHERE DATEDIFF(CURDATE(), end_date) in (1,2,8)

于 2011-10-03T08:03:13.243 に答える