2011-12-17 7 views
0

私はMYSQLテーブルを持っており、テーブル内の各結果のカウントダウンカラムを配置したいと思います。タイマーは現在の時刻から列の終了時刻(DATETIME形式の同じ表内の列)までカウントする必要がありますMYSQL列のJavascriptカウントダウンタイマー

どうすればいいですか?私はこのサイトhttp://keith-wood.name/countdown.htmlからJavascriptタイマーを参照していますが、終了時間の列にカウントダウンする方法と、テーブルの行にJavscriptタイマーをエコーする方法がわかりません。

答えて

1

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff

あなたは直接カウントダウン列を格納しないでしょう。代わりにtimediffを使用します。

だから私は、私はあなたがやろうとしているか完全にわからないが、あなたは、サーバー側とクライアント側を混合していると思う

select timediff(now(), end_time) from countdown_table 
1

のようなもの。

データベースにタイマーは必要ありません。終了時間が必要です。あなたのPHPスクリプトでは、現在の時間(またはMySQLで...)と終了時間を取得し、タイマーが訪問者のブラウザでカウントダウンできるように、2つの違いを使ってJavaScriptタイマーを初期化することができます。

+0

私の問題は、私がタイマーを入れたいテーブルがMySQLによって生成されていることです。ところで、毎秒カウントダウンして同時にユーザーに表示できるリアルタイムのカウントダウンタイマーが必要でした。私は時差を得ることに問題はないが、私はどのようにテーブルのJavascriptタイマーを初期化するか分からない。 – user1033038

1

ちょうどFYI、あなたは純粋にクライアント上でjavascriptでカウンタを書くことができます。あなたはまだJavascriptを使用して、PHPのページにこのような何かを行うことができますmysqlデータベースに保存されている将来の特定の時間にカウントダウンする場合:

<script> 
var endTime = <?= $endTimeFromDb; ?>; // preferably a unix timestamp in ms 
var relativeTime = new Date().getTime() - endTime; // relative ms until endTime 
// now apply some fancy formatting and write it to the dom 
</script> 

次に、あなたがにTimeSpan.jsのようなものを使用することができますあなたのrelativeTimeはかなり形式に変換します。 https://github.com/idottv/TimeSpan.js

は、JavaScriptのDateオブジェクトの詳細については、MDNを参照してください: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

yにしたいプラグインでより慎重に探した後、 OUの使用は、私はこれらの例のどちらも何の意味もなされている場合、私に教えてください。この

var endTime = <?= $endTimeFromDb; ?>; // if it's a timestamp 
var endTime = "<?= $endTimeFromDb; ?>"; // if it's a string 
$("div.countdown").countdown({until: new Date(endTime)}); 

を思い付きました。

+0

MysqlテーブルからJavasscript関数を呼び出すにはどうすればよいですか? 私はmysql_fetch_arrayと一緒にwhileループを使用しています。行は$ row [column]を使って取り込まれます – user1033038

+0

私はカウントダウンのためだけに専用の列が必要でした。 – user1033038

+0

jQueryカウントダウンプラグインでは、有効なJavaScript日付オブジェクトが必要です。これを得るためには、mysqlからmysqlの日付またはタイムスタンプオブジェクトを取り出し、javascriptが読むことができるWebページに挿入する必要があります。 '' $ endTimeFromDb; ''は、私の例で私が呼んでいたものでした。そのオブジェクトを使用して新しいJavaScript日付を作成し、それをプラグインに送信します。ここでも、タイムスタンプは簡単かもしれませんが、これは文字列またはタイムスタンプです。 **あなたはたぶん終了時間**の幸運をデータベースにあなたのタイマーを保存したくない! –

関連する問題