0

そのため、現在、学校のプロジェクトのオンライン選挙システムに取り組んでおり、選挙の開始時間と終了時間を設定する方法に苦労しています。開始時刻と終了時刻の日付/時刻ピッカーがあり、dtpicker の値をデータベースに保存し、データベースの時刻に基づいてカウントダウンを行い、選挙が開始された場合は、投票ページに移動し、選挙が終了すると結果にリダイレクトされます。どうやってやるの。私は多くのスレッドを行ってきましたが、それらは私の問題を解決しませんでした。手伝っていただけませんか?私の問題に関連するアイデアや提案するウェブサイトはありますか? 私はこの問題に3日間立ち往生しています。どんな助けでも大歓迎です。

- -アップデート - -

だからここに私のコードがあります:

 <?php
 $con = mysql_connect("localhost","root","vertrigo");
 if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

 mysql_select_db("db_voting", $con);

 $result = mysql_query("SELECT * FROM time WHERE time_ID = 1");

 $numrow = mysql_num_rows($result);

 if ($numrow == 0)
 {
die('No election found.');
 }

 $row = mysql_fetch_row($result);
 $startdate = date_format(date_create($row[1]), 'm/d/Y H:i:s');
 echo "Voting will start: " . $startdate. "<br />";

 $closedate = date_format(date_create($row[2]), 'm/d/Y H:i:s');
 echo "Voting will end: " . $closedate;
 ?>
<p>Time Left:
<script language="JavaScript">
TargetDate = "<?php echo $closedate ?>";
BackColor = "palegreen";
ForeColor = "navy";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
FinishMessage = "Voting has Ended";
</script>
<script language="JavaScript" src="countdown.js"></script>

私がやろうとしているのは、選挙が終了するたびに結果にリダイレクトされ、そうでない場合は投票ページが表示されることです。if else ステートメントを使用する必要がありますか? 申し訳ありませんが、私はまだこれについて初心者です。私を助けてくれませんか。

4

2 に答える 2

1

これを達成するには多くの方法があります。

あなたが直面している問題の一部は、Mysql と PHP が異なる時間形式で動作する可能性があることです。日付を MYSQL に日付形式で格納すると、YYYY-MM-DD 形式になりますが、PHP 日付オブジェクトは UNIX タイムスタンプ (1970 年 1 月 1 日午前 0 時から経過した秒数) で機能します。タイムスタンプを整数としてデータベースに保存することもできますが、私は通常、MYSQL 形式で保存してから、php strtotime コマンドを使用して PHP コードで日付を操作します。これにより、mysql ネイティブ形式がタイムスタンプに変換されます。

http://php.net/manual/en/function.strtotime.php

日付がこの形式になったら、現在の日付をタイムスタンプに変換し、カウントダウンのために一方を他方から引きます。分割して、これを秒単位から日単位などに変えることができます。

タイムスタンプを日付に戻すという点では、この関数を使用できます。

http://php.net/manual/en/function.date.php

タイムスタンプを扱う際の最後の注意点として、javascript と PHP では処理が異なります。Javascript (プロジェクトにある場合) はミリ秒単位で動作しますが、php は数秒単位です。

単なるアイデアですが、おそらくこれを行う方法はたくさんあります。

于 2012-08-26T14:29:42.760 に答える
0

私の経験から、時間を比較する信頼できる方法は、Unix時間形式を使用することです。Unix形式の時間を比較し、それが機能するかどうかを確認する場合は、ifを設定します。デフォルトのタイムゾーンを設定することを忘れないでください!

そして、あなたが試したことの例は間違いなく役に立ちます。

于 2012-08-26T14:18:44.727 に答える