嗯, 我正在开发投票系统,我使用以下代码从数据库中选择数据:
// Select info about vote
$select_information = mysql_query("SELECT * FROM `Vote` WHERE `VoteID` = '$VoteID';");
$take = mysql_fetch_array($select_information);
$createdBy = $take["Username"];
$InstaCredit = $take["InstaCredit"];
$activeVote = $take["Available"];
$select_last_vote = mysql_query("SELECT `Date` FROM `voteslist` WHERE `IP` = '$ip' AND `VoteID` = '$VoteID' order by `Date` DESC LIMIT 1;");
$select_last_vote = mysql_fetch_array($select_last_vote);
$dbdate = $select_last_vote["Date"];
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
// Here i am select date. retrieve just the date part
$takeResult = mysql_query("SELECT DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date ;");
$Result_date = mysql_fetch_array($takeResult);
$result_date = $Result_date["Date"];
$today = date("d/m/Y");
$thanks_to = $createdBy;
// here my problem. I want count all votes from today.
$today_voting_query = "SELECT DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date COUNT(`ID`) FROM `voteslist` WHERE `VoteID` = '$VoteID' AND `Date` = '$result_date';";
$today_voting = mysql_fetch_array($today_voting_query);
$today_voting = $today_voting[0];
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
//now compare your dates
if($result_date == $today)
{
echo "<span class='thanks-for-voting voted'>
error <strong>{$thanks_to}</strong>
</span><br />
<span class='note-vote voted'>You can vote one time in 24 hours</span>";
}
else {
echo "
<span class='thanks-for-voting'>
Thanks for vote to <strong>{$thanks_to}</strong>!
</span>
";
}
?>
<div class="statics">
<span id="static-title">Statics <?php echo $thanks_to; ?></span><hr />
<span id="static-q">Today votes:</span> <span id="static-a"><?php echo $today_voting; ?></span><br />
<span id="static-q">Votes:</span> <span id="static-a">19</span><br />
</div>
我需要通过以下变量计算并打印今天的投票值:
$today_voting
最佳答案
您忘记了 select
语句中字段之间的逗号。
请更改
DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date COUNT(`ID`)
到
DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date, COUNT(`ID`)
您还应该将 $today_voting[0];
更改为 $today_voting[1];
,因为投票计数是您选择的第二列。第一列 ($today_voting[0]
) 包含格式化日期。
关于php - 如何使用 MySQL 和 PHP 按日期计算行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32138523/