通过SQL语句来分页,MYSQL的SQL语句中有Limit语法
乐都网站建设公司创新互联建站,乐都网站设计制作,有大型网站制作公司丰富经验。已为乐都上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的乐都做网站的公司定做!
例如:
SELECT * FROM t1 LIMIT 0,10
SELECT * FROM t1 LIMIT 10,10
SELECT * FROM t1 LIMIT 20,10
?php
include("connection.php");
$perNumber=10; //每页显示的记录数
$page=$_GET['page']; //获得当前的页面值
$count=mysql_query("select count(*) from user"); //获得记录总数
$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //计算出总页数
if (!isset($page)) {
$page=1;
} //如果没有值,则赋值1
$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录
$result=mysql_query("select * from user limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数
while ($row=mysql_fetch_array($result)) {
echo "user_id:".$row[0]."br";
echo "username:".$row[1]."br"; //显示数据库的内容
}
if ($page != 1) { //页数不等于1
?
a href="fenye.php?page=?php echo $page - 1;?"上一页/a !--显示上一页--
?php
}
for ($i=1;$i=$totalPage;$i++) { //循环显示出页面
?
a href="fenye.php?page=?php echo $i;?"?php echo $i ;?/a
?php
}
if ($page$totalPage) { //如果page小于总页数,显示下一页链接
?
a href="fenye.php?page=?php echo $page + 1;?"下一页/a
?php
}
?
================================
这个是很简单的..而且也写了注释..不知道合不合你的意..
view source print? ?php // you should save this file as m php session_start(); if ( empty ( $page )) { $page = ;} if (isset( $_GET [ page ])==TRUE) { $page = $_GET [ page ]; } ? head meta equiv= "Content Type" content= "text/; charset=UTF " / title qqview Read Result/title style type= "text/css" ! STYLE {font size: px} STYLE {font size: px} /style /head body table width= " %" bgcolor= "#CCCCCC" tr td ?php if ( $page ){ $counter = file_get_contents ( "example txt" ); // read the file into a string $length = strlen ( $counter ); $page_count = ceil ( $length / ); function msubstr( $str $start $len ){ $strlength = $start + $len ; $tmpstr = "" ; for ( $i = ; $i $strlength ; $i ++) { if (ord( substr ( $str $i ))== x a) { $tmpstr = br / ; } if (ord( substr ( $str $i )) xa ) { $tmpstr = substr ( $str $i ); $i ++; } else { $tmpstr = substr ( $str $i ); } } return $tmpstr ; } // 截取中文字符串 $c =msubstr( $counter ( $page )* ); $c =msubstr( $counter $page * ); echo substr ( $c strlen ( $c ) strlen ( $c ) strlen ( $c )); }? /td /tr /table table width= " %" bgcolor= "#cccccc" tr td width= " %" align= "center" valign= "middle" span class = "STYLE " ?php echo $page ;? / ?php echo $page_count ;? 页 /span/td td width= " %" height= " " align= "left" valign= "middle" span class = "STYLE " ?php echo "a href=m php?page= 首页/a " ; if ( $page != ){ echo "a href=m php?page=" ( $page ) "上一页/a " ; } if ( $page $page_count ){ echo "a href=m php?page=" ( $page + ) "下一页/a " ; } echo "a href=m php?page=" $page_count "尾页/a" ; ? /span /td /tr /table /body / lishixinzhi/Article/program/PHP/201311/21215
分页数据是在查询时分页的.参考thinkphp的分页类
// 分页DEMO
public function page() {
$user = M ( 'user' );
$rs = $user-select ();
// print_r($rs);
import ( 'ORG.Util.Page' ); // 导入分页类
$count = count ( $rs ); // 查询满足要求的总记录数
$Page = new Page ( $count, 25 ); // 实例化分页类 传入总记录数和每页显示的记录数
$show = $Page-show (); // 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $user-order ( 'id' )-limit ( $Page-firstRow . ',' . $Page-listRows )-select ();
$this-assign ( 'list', $list ); // 赋值数据集
$this-assign ( 'page', $show ); // 赋值分页输出
$this-display (); // 输出模板
}
php本身是没有分页概念的,分页是URL传参,然后通过mysql查询语句到数据库获取数据,然后实现的分页,url上的参数,通过PHP的$_GET都是可以获取到的。
现在市面上的PHP框架基本都有PHP分页类,参照文档直接调用就好了,如果想看实现过程,可以去下载一个TP框架,然后打开里面的分页类查看里面的源代码。
不同意,因为你楼上的,if ($page=="") {$page=1;};
是想要查看是否第一页,而你用的是超链接,那你应该用$_GET['page'],这才能取得超链接得出的值否则都是第一页,还有你查询语句的算法好想有点问题今天我才帮我的同学搞定那个分页问题,很简单的其实……