【发布时间】:2015-08-26 16:05:53
【问题描述】:
我这里有一个代码,它可以在本周内的一天中获取数据库中的数据。例如:如果今天的日期是 2015-08-27,并且数据库中的 date_paid 列的值为 2015-08-26 和 2015-08-25,它将显示具有这两个日期的数据。 这是我尝试获取本周内日期的代码:
// set current date
$date = date('Y-m-d');
// parse about any English textual datetime description into a Unix timestamp
$ts = strtotime($date);
// find the year (ISO-8601 year number) and the current week
$year = date('o', $ts);
$week = date('W', $ts);
// print week for the current date
for($i = 1; $i <= 7; $i++) {
// timestamp from ISO week date format
$ts = strtotime($year.'W'.$week.$i);
//shows the date for 7days
$week[$i] = date("Y-m-d", $ts) . "<br>";
}
if($week[1] == $date)
{
$today = $week[1];
}
if($week[2] == $date)
{
$today = $week[2];
}
if($week[3] == $date)
{
$today = $week[3];
}
if($week[4] == $date)
{
$today = $week[4];
}
if($week[5] == $date)
{
$today = $week[5];
}
if($week[6] == $date)
{
$today = $week[6];
}
if($week[7] == $date)
{
$today = $week[7];
}
$transaction = mysqli_query($connection, "SELECT * FROM transaction WHERE date_paid = '$today'");
$counttrans = mysqli_num_rows($transaction);
此代码假设获取具有该周日期的数据。但它不起作用。任何人都可以解决这个问题?
【问题讨论】:
-
当您说它不起作用时,能否请您更详细一点?您当前的代码的预期结果和实际结果是什么?
-
它没有正确获取数据。计数的结果始终为零,即使数据库中有该日期在该周内的值。
-
结果应该大于 0,因为在我的数据库中有日期在本周之内,就像我在示例中所说的那样。
标签: php database date if-statement dayofweek