PHP 统计记录条数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 统计记录条数相关的知识,希望对你有一定的参考价值。

我现在有个表
user
字段 有 id name pass date
1 admin 123 2013-8-1

2 user 1234 2013-8-1

3 aaaaa 123 2013-8-2
4 aaaa1 123 2013-8-2
5 aaaa2 123 2013-8-2
6 aaaa3 123 2013-8-2
7 aaaa4 123 2013-8-2
3 aaaa5 123 2013-9-1
3 aaaa6 123 2013-9-3
php页里怎么显示
每天的注册人数
如: 2013-8-1 2
2013-8-2 5

2013-9-1 1

2013-9-2 1

每月的注册人数
如:2013-8 7
2013-8 2
请写完整
$sql="SELECT ……";

echo ……;

    第一种方法:查询时候直接统计

    在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的mysql查询的记录数目。

    $sql="SELECT COUNT(*) AS count FROM TABLE WHERE id='$id'";
    $result=mysql_fetch_array(mysql_query($sql));
    $count=$result['count'];

    第二种方法:先取出,后统计

    $sql="SELECT * FROM TABLE WHERE id='$id'";
    $result=mysql_fetch_array(mysql_query($sql));
    $count=count($result);//或者$count=mysql_num_rows($result);

    不过直接使用MySQL的COUNT(*)在数据量庞大的时候,效率的优势是十分显著的,因为后者需要二次计算,所以还是最好使用前者进行数据条数的统计。

参考技术A select count(*) as 注册人数,date From user group by date;
就这条SQL语句追问

AS 后面的 注册人数 怎么写?
怎么像我那个的循环显示出来。

追答conn.php
<?php
$host='localhost';//数据库服务器
$user='root';//数据库用户名
$password='123456';//数据库密码
$database='userdb';//数据库名
$conn=@mysql_connect($host,$user,$password) or die('数据库连接失败!');
@mysql_select_db($database) or die('没有找到数据库!');
mysql_query("set names 'utf8'");//选择编码
?>

index.php

<?
include('conn.php');
$sql = "select count(*) as regNum,date From user group by date";
$retSql = mysql_query($sql);
$contents = mysql_fetch_array($retSql );
if(mysql_num_rows($retSql)) // 如果$total不为空则执行以下语句
do
        
             $regNum = $contents['regNum'];
             $date = $contents['date'];
             echo $retNum.'--'.$date.'<br>';  
             while($contents = mysql_fetch_array($retSql)); //do....while 


?>

大概就这样 具体你再调试下吧。

追问

按天 按月的统计怎么显示出来啊。

按天 按月的统计怎么显示出来啊。

追答

select count(*) as regNum,date from user GROUP BY left(date,7);
具体你去看下mysql left()的用法

本回答被提问者采纳
参考技术B select count(*) from 数据表;也可以查出来以后count(数组);前一种方法速度要快 参考技术C --按月
select count(*),date from user GROUP BY left(date,7);
--按天
select count(*),date from user GROUP BY date;
--有问必答
http://wxsblog.com/ask

追问

怎么显示出我要的效果呢。

追答

剩下的就跟SQL没关系了,自己参考PHP手册输出MYSQL查询的内容

追问

可以帮忙写下吗?不太会哦。

追答可以,去我给你的网站提问

参考技术D 直接把sql语句count()发送给数据库引擎,获取返回值即可。

以上是关于PHP 统计记录条数的主要内容,如果未能解决你的问题,请参考以下文章

mongodb 分组统计: 按deviceId、tenant分组,统计总记录条数、求和workload

MySQL 分组后,统计记录条数

MySQL 分组后,统计记录条数

EXCEL如何自动动态统计记录条数。

MySQL 分组后,统计记录条数

mysql 统计分组之后统计录数条数