1

ユーザーが最後にログインしたのはいつかを確認するメール送信者を作成しました。ユーザーが10日間ログインしなかった場合、メールを送信します。ここで、同じユーザーが 2 回行ったかどうかをシステムに確認させ、別のメールを送信してもらいたいと考えています。表 1 ユーザー:

id - name - loggedindate
0    john      7/11/2012
1    mark      7/6/2012
2    johnny    7/6/2012
3    bruce     7/2/2012

表 2 のメーラー フィールドは次のとおりです。

id - days -emailtosend - numberoftimeseventhappens
0     4      hello                  1
1     4      blabla                 2
2     6      example                1
3     3      to                     1
4     4      demonstrate            1

たとえば、マークとジョニーは 4 日間ログインしませんでした。イベントが最初に発生すると、「こんにちは」というメールが送信されます。2 回目にイベントが発生すると、メール送信者は「blabla」を送信する必要があるため、マークが 4 日間ログインしなかったとします。 5日目、その後さらに4日間ログインしていないのでID=2、テーブル2にある2番目のメールを彼に送信したいファイルはcronで実行され、2時間ごとにその方法に関するアイデアがチェックされますか? 自分で書くことができる実際のコードではなく、それを行う方法が必要なだけです。私はこれについて髪を引っ張っています。

4

3 に答える 3

1

ユーザーに送信された最後の種類の電子メールを追跡する新しいフィールドをユーザー テーブルに追加します。次に電子メールを送信する必要があるときは、「最後の電子メール + 1」を送信します。

于 2012-07-10T23:48:41.003 に答える
0

Marc B の回答は正しいですが、別の日時列をユーザーに追加する必要もあります (例: last_email_sent)。cron php ファイルが行うべきことは、最終ログインからの日数を確認し、last_email_sent>=4 日または null の場合、last_email + 1 を送信し、last_email_sent (今日の日付まで) および last_email (last_email+1 まで) を更新することです。

于 2012-07-11T03:22:41.223 に答える