1

以下に「セッション」テーブルがあります。

SessionId(Auto) SessionName  SessionDate SessionTime Duration  Active
1               AASEA        21-09-2012  09:00:00    01:00:00  1
2               SDERF        11-09-2012  10:00:00    01:00:00  1
3               DERSD        30-11-2012  12:00:00    01:30:00  1

ここで、CRON を使用して上記のセッションを「アクティブ」に設定できるようにすることです。セッションが 2012 年 10 月 21 日以前の正確な週に開催された場合は 0 です。したがって、上記のセッション テーブルでは、「アクティブ」を 0 に変更して、最初の 2 行を非アクティブにする必要があります。3 行目は、開始日が後であるため、明らかに変更されません。そのため、そのセッションは 2013 年 10 月 21 日まで自動的に非アクティブになりません。

だから私は以前にCRONを使用したことがなく、これが機能することを確認するためにテストする必要があるため、これはデリケートな作業であることを知りたい.

  • 開始日がちょうど 1 週間前または今年の 10 月 21 日より前のすべてのセッションの「アクティブ」値を 0 に設定しますか?
  • 現在の年が何であるかを自動的に知ることができる必要があります
  • この手順は、毎年 10 月 21 日に毎年行われます

ありがとう

4

1 に答える 1

0

このスクリプトを php ファイルに記述し、アプリケーションのどこかに直接保存します。

<?php
$con = mysql_connect("localhost","root","password");
$db = mysql_select_db("your_database");


$createDate = mktime(0,0,0,10,21,date("Y"));
$selectedDate =  date('d-m-Y', ($createDate));
$sql = mysql_query("UPDATE Session SET Active = 0 WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= '".$selectedDate."'");

?>

次に、ホスティング サイトである cPanel にログインし、CRON ジョブにアクセスする必要があります。そこで、新しい CRON ジョブをセットアップする必要があります。これは、cron ジョブをセットアップする方法のチュートリアルです - http://www.youtube.com/watch?v=0OBvGbyj15Q

ビデオで使用されている URL を上記のスクリプトに置き換えるだけで、問題なく動作するはずです。資格情報とデータベースを必ず置き換えてください。

毎年 10 月 21 日に cron ジョブを設定することも、毎日実行することもできます。私たちのスクリプトはとにかく日付を検証するので、cron ジョブを毎日実行しても問題ありません。これは高価なクエリではないため、使用されるリソースは最小限です。

于 2012-10-21T01:39:29.320 に答える