2012-08-26 115 views
0

所以我目前正在为我的学校项目在线选举系统工作,而且我很难如何设置选举的开始和结束时间。我有一个开始时间和结束时间的日期/时间选择器,然后我希望dtpicker的值保存在我的数据库中,我想根据数据库上的时间进行倒计时,如果选择开始,它将显示投票页面,如果选举结束,它将重定向到结果。我怎样才能做到这一点。我一直在很多线程,但他们没有解决我的问题。你可以帮我吗?你有什么想法或建议与我的问题相关的网站?我被困在这个问题上3天了。任何帮助将不胜感激。设置开始时间和结束时间php mysql

--- UPDATE ---

所以这里是我下面的代码:

<?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语句吗?我很抱歉,我仍然对此表示赞同。你能帮我解决吗??

+0

我明白了。感谢你们! :) – Kendall

回答

0

根据我的经验,比较时间的可靠方法是使用Unix时间格式。设置你的是否比较Unix格式的时间,看看它是否工作。 记得设置默认时区!

而且,你尝试过的例子肯定会有所帮助。

+0

我更新了我的问题。请看我的代码。 – Kendall

+0

我明白了。感谢你们! :) @Moe Tsao – Kendall

1

会有很多方法来实现这一点。

您面对的问题的一部分是,Mysql和PHP可以在不同的时间格式上工作。如果以日期格式在MYSQL中存储日期,它将采用YYYY-MM-DD格式,而PHP日期对象在UNIX时间戳上工作(自1970年1月1日午夜开始已过秒)。您可以将整个时间戳保存在数据库中,但通常我会保存为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在几秒钟内。

只是一个想法,但可能有很多方法来做到这一点。

+0

我更新了我的问题。请看我的代码。 – Kendall

+0

我明白了。感谢你们! :) @Fooksie – Kendall

相关问题