php - 如何使用 MySQL 和 PHP 按日期计算行数

标签 php mysql

嗯, 我正在开发投票系统,我使用以下代码从数据库中选择数据:

// 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 from my db without seconds using PHP MySql

最佳答案

您忘记了 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/

相关文章:

PHP 从 mysql_real_escape_string 更改为 PDO 准备语句

javascript - 多个文件到文件夹

mysql - 此嵌套查询的替代方法?

jquery - 使用 Laravel 查询生成器更新记录排名

mysql - 导入大sql文件时如何计算mysql的最大性能?

php - ejabberd 外部认证 php sql server

php - ON CONFLICT 使用 pg_prepare() 错误 'name' 不存在

python - 从 mysql 打印/解析 csv blob 文件

python : "Pandas data cast to numpy dtype of object. Check input data with np.asarray(data)."

php - 如何对json字符串进行排序?