Php &引用;“上周星期日”;星期日发生strotime()错误
为了让我的孩子开心,我一直在用PHP实现长途汽车旅行。其中一个坐在我的手机上,当他们看到黄色的汽车时,就会加上黄色的。计数器应增加每个分数,每周日晚上重新设置分数,并显示上周的获胜者 上周的分数正确递增,本周也是如此,但我在周日注意到,所有分数都是0,而我上周的分数根本没有累计Php &引用;“上周星期日”;星期日发生strotime()错误,php,mysql,Php,Mysql,为了让我的孩子开心,我一直在用PHP实现长途汽车旅行。其中一个坐在我的手机上,当他们看到黄色的汽车时,就会加上黄色的。计数器应增加每个分数,每周日晚上重新设置分数,并显示上周的获胜者 上周的分数正确递增,本周也是如此,但我在周日注意到,所有分数都是0,而我上周的分数根本没有累计 <?php $host = "localhost"; $un = "username"; $pw = "password"; $db = "database"; $con
<?php
$host = "localhost";
$un = "username";
$pw = "password";
$db = "database";
$con = mysqli_connect($host, $un, $pw, $db);
$thisweek = date('Y-m-d', strtotime('Monday this week'));
//echo $thisweek;
$lastweek = date('Y-m-d', strtotime('Monday last week'));
//echo $lastweek;
$mquery = "SELECT COUNT(who) AS total FROM records WHERE (who = 'Matthew') AND (nowdate >= '$thisweek')";
$mresult = mysqli_query($con, $mquery);
$mdata = mysqli_fetch_assoc($mresult);
$mcount = $mdata['total'];
$rquery = "SELECT COUNT(who) AS total FROM records WHERE (who = 'Roisin') AND (nowdate >= '$thisweek')";
$rresult = mysqli_query($con, $rquery);
$rdata = mysqli_fetch_assoc($rresult);
$rcount = $rdata['total'];
$mlquery = "SELECT COUNT(who) AS total FROM records WHERE (who = 'Matthew') AND (nowdate >= '$lastweek') AND (nowdate < $thisweek)";
$mlresult = mysqli_query($con, $mlquery);
$mldata = mysqli_fetch_assoc($mlresult);
$mlcount = $mldata['total'];
$rlquery = "SELECT COUNT(who) AS total FROM records WHERE (who = 'Roisin') AND (nowdate >= '$lastweek') AND (nowdate < $thisweek)";
$rlresult = mysqli_query($con, $rlquery);
$rldata = mysqli_fetch_assoc($rlresult);
$rlcount = $rldata['total'];
if ($mlcount > $rlcount) {
$lcount = "Matthew";
$first = $mlcount;
$second = $rlcount;
}
else {
$lcount = "Roisin";
$first = $rlcount;
$second = $mlcount;
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<title>Yellow Car</title>
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.3.0/pure-min.css">
<link rel="stylesheet" href="styles.css">
<link rel="icon" href="favicon.ico">
</head>
<body>
<div class="container">
<div class="pure-g-r">
<div class="pure-u-1 text-center">
<h1>Yellow Car!</h1>
</div>
</div>
<div class="pure-g">
<div class="pure-u-1-2 padded text-center">
<form class="pure-form" method="post" action="matt-add.php">
<button type="submit" class="pure-button button-car pure-input-1">Matthew</button>
</form>
<p>
This Week: <strong class="blue-text"><?php echo $mcount; ?></strong>
</p>
</div>
<div class="pure-u-1-2 padded text-center">
<form class="pure-form" method="post" action="rosh-add.php">
<button type="submit" class="pure-button button-car pure-input-1">Roisin</button>
</form>
<p>
This Week: <strong class="blue-text"><?php echo $rcount; ?></strong>
</p>
</div>
</div>
<div class="pure-g-r">
<div class="pure-u-1 text-center">
<h2>
<?php
if ($first == $second) {
?>
Last week was a <span class="blue-text">draw</span>! (<?php echo $first . "-" . $second; ?>)
<?php
}
else {
?>
Last week's winner was: <span class="blue-text"><?php echo $lcount; ?></span>! (<?php echo $first . "-" . $second; ?>)
<?
}
?>
</h2>
</div>
</div>
</div>
</body>
</html>
我试着重复1月2日星期日的日期,但它告诉我这周是9号,上周是2号,正好是7天
如果有人能告知我代码中的任何错误,我们将不胜感激。您需要在下面的两个查询中单独引用您的
$thisweek
$mlquery = "SELECT COUNT(who) AS total FROM records WHERE (who = 'Matthew') AND (nowdate >= '$lastweek') AND (nowdate < '$thisweek')";
$mlresult = mysqli_query($con, $mlquery);
$mldata = mysqli_fetch_assoc($mlresult);
$mlcount = $mldata['total'];
$rlquery = "SELECT COUNT(who) AS total FROM records WHERE (who = 'Roisin') AND (nowdate >= '$lastweek') AND (nowdate < '$thisweek')";
$mlquery=(who='Matthew')和(nowdate>='lastweek')以及(nowdate<'thisweek')中的记录中选择COUNT(who)作为总计;
$mlresult=mysqli_query($con,$mlquery);
$mldata=mysqli\u fetch\u assoc($mlresult);
$mlcount=$mldata['total'];
$rlquery=“从记录中选择计数(谁)作为总计,其中(谁=‘Roisin’)和(nowdate>=‘lastweek’)以及(nowdate<‘thisweek’)”;
如果我没记错,相对日期短语会有一些有趣的解释,这取决于它们的构造方式。例如,我相信“本周周一”
和“本周周一”
会给你两个不同的日期。另外,当使用相对日期字符串时,本周将在周日结束,因此这也可以解释部分问题。是的,请尝试使用周一
、上周一
、下周一
进行测试。我也尝试了使用周一。与日期相呼应的是现在似乎是正确的,“本周”=2014-02-03
,“上周”=2014-01-27
,显示上周分数的计数器仍然是0。太棒了,谢谢。祝你下周一好运,我的代码将正确地勾选,现在!
$mlquery = "SELECT COUNT(who) AS total FROM records WHERE (who = 'Matthew') AND (nowdate >= '$lastweek') AND (nowdate < '$thisweek')";
$mlresult = mysqli_query($con, $mlquery);
$mldata = mysqli_fetch_assoc($mlresult);
$mlcount = $mldata['total'];
$rlquery = "SELECT COUNT(who) AS total FROM records WHERE (who = 'Roisin') AND (nowdate >= '$lastweek') AND (nowdate < '$thisweek')";