我有两种情况。
1:我想计算今天使用特定用户ID输入的表中的记录。即只显示今天输入的统计数据。
2:我想显示具有特定用户ID的一周时间跨度的记录。即每次显示记录时,应该采用一周的时间间隔。
以下是我的询问:
$sql2=$Db1->query("SELECT COUNT(userid) AS total FROM tablename WHERE userid='$userid'");
显示记录
<?php
while($row = mysql_fetch_array($sql2))
{
echo "<td>" . $row['total'] . "</td>";
}
?>
答案 0 :(得分:1)
我确定你有这个日期信息的专栏。然后您可以使用:
SELECT
DATE(your_date_column),
COUNT(userid) AS total
FROM tablename
WHERE userid='$userid'
AND your_date_column BETWEEN (NOW() - INTERVAL 1 WEEK) AND NOW()
GROUP BY DATE(your_date_column)
如果您只想要完整日期的数据,那么您必须稍微调整一下查询,即排除此间隔的第一天。
如果您希望本周的总数每天不计,您可以使用
SELECT
userid,
COUNT(userid) AS total
FROM tablename
WHERE userid='$userid'
AND your_date_column BETWEEN (NOW() - INTERVAL 1 WEEK) AND NOW()
GROUP BY userid;
注意强>
请查看red box for the mysql_ extension并考虑转移到mysqli或PDO。使用带占位符的预准备语句来绑定输入值比连接sql字符串要好得多。