【发布时间】:2013-11-08 04:02:27
【问题描述】:
我正在使用 php $_GET 传递日期输入
<form action="trigger_date.php" method="get">
Enter Project Turnover date (mm/dd/yy): <input type="string" name="date"> <input type="submit">
在trigger_date.php中把这个当作
<?php $turnover_date = $_GET['date']; ?>
我做了一些数学运算来比较今天的日期
<?php
$project_turnover = strtotime($turnover_date);
$project_turnover = date ("m/d/y", $project_turnover);
?>
<?php
$datetime1 = date_create($today);
$datetime2 = date_create($project_turnover);
$wks_to_turnover = date_diff($datetime1, $datetime2); // taking the difference between today and project turnover date
$wks_to_turnover = $wks_to_turnover->format('%R%a');
$wks_to_turnover = ($wks_to_turnover/7);
$wks_to_turnover = round($wks_to_turnover,1); //with input of 5/1/14 this should be roughly 24 wks
?>
这就是我难过的地方,我的样式是:
<?php
if ($wks_to_turnover > 2) {
echo $date_green; // colors the background green
} elseif (2 > $wks_to_turnover && $wks_to_turnover > 0) {
echo $date_yellow; // colors the background yellow
} elseif (0 >= $wks_to_turnover) {
echo $date_red; //colors the background red
} ?>;
但是即使 (24 > 2) 它仍然是红色的
【问题讨论】:
-
你怎么知道
$wks_to_turnover实际上被正确计算了?这部分代码看起来不错(减去最后一条注释前面缺少 //)。 -
$wks_to_turnover的值是多少?var_dump($wks_to_turnover); -
当我手动输入“5/1/14”而不是使用 $_GET 方法时,样式效果很好。我还在表格中输出
$wks_to_turnover的值作为我的健全性检查,所以 -
$turnover_date和$project_turnover??我想你在$turnover_date中获取日期并使用$project_turnover进行计算? -
$turnover_date是 $_GET 和$project_turnover = date ("m/d/y", $project_turnover)