2012-01-04 15 views
2

PHPでカウントダウンタイマーを作成する方法について、いくつかのアイデアや解決方法をお聞きしたいと思います。私のページはメタリフレッシュを使用して毎分自動的に更新されるため、クライアント側のカウントダウンタイマーは不要です。サーバー側PHPは私が探しているものです。PHPでカウントダウンタイマー

ここではシナリオを示します。

最終答えは次の答えは2012-01-02十時45分00秒である必要があり、2012年1月2日10時00分○○秒でした。

最後の回答から45分を追加する必要があることを意味します。現在の時間から、たとえば2012-01-02 10:05:00と言うと、カウントダウンタイマーには次の応答のために残された40分が表示されます。タイマーが0になると、失うことを示すでしょう。ユーザーはそれに応答し、45分で最後に入力された回答からもう1つカウントダウンします。時間はOVERエルス

あなたが保つことができるとき

+0

タイマー表示にはJavascriptを使用する必要があります。 PHPはHTMLをレンダリングするだけなので、これを達成することはできません。ここには素晴らしいjQueryライブラリがあります:http://keith-wood.name/countdown.html – Dutchie432

+0

メタリフレッシュを無効にすることができます –

答えて

1

一つの解決策は、前の回答の直接のタイムスタンプを格納し、追加し、正しい時刻

$time_prev = $_some_how_from_db; 
$time_now = time(); 
if($time_now-$time_prev>45*3600){ 
// do action of losing 
} 

これをと比較行動を取ることだったすることができ1分ごとにAJAXを使用して更新します。これは私がこのようなソリューションをお勧めしませんし、uは年ページは毎分でリフレッシュを取得していると述べたとして代わりにあなたがjavascript..butで行くべき

+0

時間が過ぎるとアクションがあるので、私はこのアイデアが好きです。私はそれを働かせることはできません。あなたはそれを見せることができますか?一度その上にリセットするだけでは、その上に滞在..ありがとう –

+0

私は何を表示したいですか? AJAXによる更新時間の要求またはアクション部の作成 –

+0

短時間でタイマは負の値になります。時間が終わると否定的に見えない方法はありますか? –

2
echo date("i:s",strtotime("2012-01-02 10:45:00")-time())." Remaining"; 

思想ユーザーの便宜のために悪いことを証明するあなたのリフレッシュを、避けることができます。..それは大丈夫です。

+0

$ lastdate = strtotime( '2012-01-05 01:59:07'); $ added_minutes = "45"; if(date( "i:s"、strtotime( '+'。$ added_minutes。 'minute'、$ lastdate)-time())== 0 { echo "DUE"; } else { エコー日付( "i:s"、strtotime( '+'。$ added_minutes。 'minute'、$ lastdate)-time())。 } このカウンタは機能しますが、ページを更新すると55分にリセットされます。リセットまたはループしない方法がありますか?おかげで –

+0

Rajatに感謝、それは私にも役立ちます。 –