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... これを行う方法はありますか??
できることは、2 つのテーブルを作成することです。1 つはメインの予約情報用で、2 つ目は送信日 (または送信リマインダー日) の保存用です。
レコードを保存すると、現在の日付と end_date の差が取得されます。差が 30 になる場合は、end_date の 8、2、1 日前に send_dates を保存する必要があります。あなたが持っている他の条件と同じです。
次に、(毎日実行される) cron ジョブを作成して、send_dates = 現在の日付の 2 番目のテーブルを確認します。その後、条件が満たされた場合にメールを送信します。
これがあなたが必要とするものであることを願っています
この種のことを行うためにcronjobをセットアップします。
クエリ用に 3 つの個別の SQL ステートメントを記述して、これらを機能させます。
次に、これらをphpのmysql_queryに入れ、行数> 0の場合に変数を設定します
変数で isset を使用して電子メール smtp スクリプトに
毎朝チェックするcronジョブを設定します。
SELECT *,DATEDIFF(CURDATE(), end_date) as DIFF FROM TABLE WHERE DATEDIFF(CURDATE(), end_date) in (1,2,8)