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(*)在数据量庞大的时候,效率的优势是十分显著的,因为后者需要二次计算,所以还是最好使用前者进行数据条数的统计。
就这条SQL语句追问
AS 后面的 注册人数 怎么写?
怎么像我那个的循环显示出来。
<?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()的用法
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 统计记录条数的主要内容,如果未能解决你的问题,请参考以下文章