我正在尝试填充一个列表菜单,其中的选择要么是过去的,要么是基于比赛日期的未来的。
我想要 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";}
}
?>
我发现的一切都是如何将时间戳转换为字符串
谢谢你