重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你把表中的字段值查出来,然后来个循环循环这些值,然后判断是1的变量i加一,不是1的变量j加一,这样最后i和j的值就分别是1和0的记录数,总的记录数用i+j也可以,用循环的数组的长度求得也可以
创新互联建站IDC提供业务:南充服务器托管,成都服务器租用,南充服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。
?php
$Page = $_GET['page']; //首先取得当前页号(也就是第几页)
(!empty( $Page ) is_numeric( $Page) $Page 0 ) or $Page = 1; //默认为第一页
$PageSize = 15; //每页显示15条
$Rest = msyl_query('select * from 表名称')
$Count = mysql_num_rows( $Rest ); //取得数据库总共有多少条记录
$PageCount = ceil($Count / $PageSize ); //计算总共有多少页
$Page = $PageCount or $Page = $PageCount; //如果当前页数会大于总页数, 那设置当前页就是总页数
$StartPage = ( $Page - 1 ) * $PageSize; //计算数据库开始返回的条数
//到这里, 分页显示的相关要素就计算完成了, 最后是构造sql语句
$Sql = "selet * from 表名称 limit {$StartPage}, {$PageSize}";
//接下来的数据库查询代码, 就和你平时的一样了,这个你自己写!
//最后是上一页下一页的按钮!
echo "a href=\"?page={$Page - 1}\"上一页/aa href=\"?page={$Page+1}\"下一页/a";
其实, php的分页功能原理, 很简单, 就是一点, 利用sql语句的limit关键词!
比如:
select * from 表名称 limit 5, 10
这个表示, 从第5条开始返回, 返回10条
那么,分页, 就是你想办法控制 5 和 10 这个数字!
第一种方法:查询时候直接统计
在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的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(*)在数据量庞大的时候,效率的优势是十分显著的,因为后者需要二次计算,所以还是最好使用前者进行数据条数的统计。
在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的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(*)在数据量庞大的时候,效率的优势是十分显著的,因为后者需要二次计算,所以还是最好使用前者进行数据条数的统计。
select
*
from
table
limit
0,10
从0开始,共10条
SQL的limit语法的如以下形式
SELECT
*
FROM
table
LIMIT
[offset,]
rows
|
rows
OFFSET
offset
当省略offset的时候,offset作为0处理,表示提取查询到的前rows条数据;
当offset=0时候,表示提取查询到的从offset开始的rows条数据;此时如果rows0表示提取查询到的从offset开始的所有数据
当offset0的时候,表示提取查询到的除出后rows条数据的所有数据,即剔除last
row-rows到last
rows之间的-rows条数据
另外,如果rows大于实际查询的数据条数,则取rows为实际查询的数据条数。