2011-09-09 6 views
-1

私は、ユーザーが日単位から月単位、年単位、年単位、時間単位を選択する必要があるフォームを構築しています。それのためのJSのカレンダーしかし、私は特定の日付がまだ到着しているかどうかを確認するために何をするのか分からない。ユーザーがフォームを変更してスクリプトの開始日と終了日を設定するにはどうすればよいですか?

ユーザは、開始日と終了日を選択すると仮定します。ユーザは特定の変更を一度行い、その変更はユーザが選択した時間間隔に適用されるため、終了日に達すると変更は適用されなくなります。スクリプトはデフォルトにリセットされます...

これらの変更は、プログラム、プログラム内のコードなどに適用することができます...しかし、基本的にプログラムはユーザーがフォームを選択した時間間隔しかし、日付に達するとすべてがデフォルトにリセットされます。

私の元のアイデアは、PHPの日付( 'W')関数を使用してユーザーから開始時刻と終了時刻を取得して保存することでした終了日がまだ達成されているかどうかを確認するために、スクリプトに毎日日付を検索させてください。その後、私の他のアイデアは、JSのカレンダーポップアップを使って開始日と終了日を取得し、何らかのスクリプトを使って毎日日付を調べて、期限がまだ達成されているかどうかを確認することでした。多分ここの誰かがこれにもっと多くの経験を持っています... Cron jobs私はそれほど経験はありませんが、私のフォームの後ろにphpやjsを使って、これをcronジョブに設定する方法はわかりません。

あなたが jQuery UIを使用している場合
+0

あなたはどのような変更について話していますか? –

+0

ウェブホストには常に2つのスクリプトがあります。そのうちの1つは、決して変更できないデフォルトの通常のものです...しかし、ユーザーがフォームを介して編集可能な不規則なスクリプトを実行したい日があります。ユーザーが不規則なスクリプトを選択した時間間隔では、間隔が終了するまで実行され、その場合はデフォルトのスクリプトが復元されます。 1つのスクリプトは、時間間隔内の不規則なスクリプトまたはデフォルトのスクリプトだけを実行します。 – Bulvak

答えて

0

データベースを使用して変更されたコード/日付範囲を保存することをお勧めします。あなたはcronの仕事について心配する必要はありません - あなたのスクリプトの最初に、バージョンを使うべきであるかどうかを毎回チェックするために少しのコードを置いてください。

SELECT * FROM scripts WHERE user_id = .... 
AND start_date < NOW() AND end_date > NOW() 

データベースの現在の変更を確認します。存在する場合は、通常のスクリプトの代わりにその変更されたスクリプトを読み込みます。

+0

私はあなたに同意します私は同じことを考えていました。私があなたの答えを読んだとき、私は確かにそれを知っていました:) – Bulvak

0

次のようにデータピッカーコントロールはmaxDateのオプションがあります。

は、Dateオブジェクトを介して、または現在のDATEFORMATの文字列、または今日からの日数(として選択可能な最大日付を設定します+7)、値と期間の文字列(年は 'y'、月は 'm'、週は 'w'、日付は 'd'例えば、 '+ 1m + 1w')、無制限の場合はnullです。 コード例

maxDateオプションを指定してdatepickerを初期化します。

$(".selector").datepicker({ maxDate: '+1m +1w' }); 

initの後にmaxDateオプションを取得または設定します。

//getter 
var maxDate = $(".selector").datepicker("option", "maxDate"); 
//setter 
$(".selector").datepicker("option", "maxDate", '+1m +1w'); 

今日は日付を基にしているため、それ以上のことを保証することはできません。さらに検証が必要な場合は、サーバー側でもPHPを使用してください。

関連する問題