Art*_*545 0 php mysql sql arrays pdo
我有一个投票投票系统,人们使用我的网站投票.我记录了每一票,每张票都是表中的一行.即:
| id | ip | date |
-------------------------------------------
| 1 | ::1 | 2014-05-22 20:31:16.000000 |
Run Code Online (Sandbox Code Playgroud)
由于我保存了日期,因此可以根据本月的日期来确定日期.
我有一个折线图,它会显示投票数最多的日子(从最低到最高排序).
如何加载日期编号(例如1,2,3,4)和投票数量,以便将其存储在如下数组中:
[
1 => 104,
2 => 234,
3 => 636,
4 => 105
];
Run Code Online (Sandbox Code Playgroud)
因此,如果在同一天进行投票,则会将其添加到当天的计数中.
密钥是日期编号,值是当天的投票数.
我正在使用PDO,我怎么能像那样加载它?
以下查询返回所需的数据
SELECT DAY(`date`), COUNT(*)
FROM `your table`
WHERE YEAR(`date`) = YEAR(NOW()) AND MONTH(`date`) = MONTH(NOW())
GROUP BY DAY(`date`)
Run Code Online (Sandbox Code Playgroud)
用它包装$pdo->query(...)并调用fetchAll()结果.
您可能想稍微调整WHERE查询的约束,以使用date没有函数调用的列(因此查询可以使用索引),例如with date BETWEEN ... AND ....这留给你练习.