PHP MSSQL使用“Where”来选择日期范围

时间:2013-09-12 13:53:50

标签: php sql sql-server where date-range

我正在尝试填充一个列表菜单,其中的选择将基于游戏日期在过去或将来。

我希望1个菜单列出已根据当前日期播放的游戏,以及1个菜单以列出尚未播放的游戏。基本上如果$ gamedate> $ daynow或$ gamedate< = $ daynow

我在网上查了一些例子,但我的尝试都没有奏效。也许我需要知道如何将$ gamedate转换为unix时间戳,但我尝试的一切都不起作用。 我试过:strtotime,DateTime ::,并使用“WHERE”和“between”来创建日期范围

$ gamedate是从MSSQL数据库分配的,该字段是日期格式

我的想法是将$ gamedate转换为UNIX时间戳并使用它来与time()进行比较。我认为这是一个整数是正确的,所以使用“>”或“<”会工作?我也对其他方式持开放态度。

<?PHP
$daynow=time()

$sql="Select convert(varchar(5), gamedate, 101) AS d, * WHERE gamedate>=$daynow ORDER BY gamedate ASC"
$stmt=sqlsrv_query($conn, $sql);
while ($row=sqlsvr_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
echo"this game has not yet been played";
}
?>

<?PHP
$sql="Select convert(varchar(5), gamedate, 101) AS d, * ORDER BY gamedate ASC"
$stmt=sqlsrv_query($conn, $sql);
while ($row=sqlsvr_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
$gamedate=$row['gamedate'];
$daynow=time();
if ($gamedate>$daynow){
echo"this game has not yet been played";}
elseif ($gamedate<=$daynow){
echo"this game has been played";}
}
?>

我发现的一切都是如何将时间戳转换为字符串

谢谢

1 个答案:

答案 0 :(得分:0)

检查一下:What is the preferred format to store date/times in a SQL Server database when PHP is your primary language?我认为这会更有帮助,因为这个问题与MYSQL有关