加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php分页原理

发布时间:2020-05-25 02:58:51 所属栏目:PHP 来源:互联网
导读:?php1.分页原理所需数据:总记录数: $records mysql_num_rows()每页显示: $pagesize 人为定义10总页数: $pages $records/$pagesize当前页: $page 自己选择2.分页的sql语句: SELECT * FROM news limit 0,10; //每次从数据库取10条数据limit 语句的格式:$

<div class="cnblogs_code">

所需数据:
总记录数: $records mysql_num_rows()
每页显示: $pagesize 人为定义10
总页数: $pages $records/$pagesize
当前页: $page 自己选择

2.分页的sql语句: SELECT * FROM news limit 0,10; //每次从数据库取10条数据

limit 语句的格式:
$startnow:开始行号 $pagesize:每页显示多少条
limit $startnow,$pagesize

第1页 $page = 1 limit 0,10 从0条起取10条数据
第2页 $page = 2 limit 10,10
第3页 $page = 3 limit 20,10
........

$startnow = ($page-1) * $pagesize;

  1. //分页相关变量
    $pagesize = 10; //每页取10条数据
    //获取地址栏中用户点击后地址栏传递过来的page参数(第几页)
    if(empty($_REQUEST['page'])){
    $page =1;
    $startnow =0;
    }else{
    $page = (int)$_REQUEST['page'];
    $startnow = ($page-1) * $pagesize;
    }

//构建sql语句
$sql = select * from vvt_news; //可以取出结果分页中再排序
//执行sql语句
$result = mysql_query($sql);
//返回记录总数
$records = mysql_num_rows($result);
//获取总页数
$pages = ceil($records/$pagesize);

//构建分页的sql语句
$sql = "select * from vvt_news order addtime ASC,by id DESC LIMIT $startnow,$pagesize";
//执行sql语句 返回结果集
$result = mysql_query($sql); //结果集 可以取前端循环

$this->set('list',$result); //发送到前台 遍历循环

4.前台底部分页样式

<style type="text/css">
.pagelist{
height:40px;
line-height:40px;
}
.pagelist a{
border:1px solid #ccc;
background-color:#f0f0f0;
padding:3px 8px;
margin:0px; 3px;

}
.pagelist span {
margin:3px 10px;
}

<tr>
<td colspan="8" align="center" class="pagelist">
<?php
for ($i=1; $i<$pages ; $i++) {
//如果是当前页则不加链接
if($i==$page){
echo "$i";
}else{
echo "$i";
}

    }
;</span><span style="color: #0000ff"&gt;?></span>
<span style="color: #0000ff"&gt;</</span><span style="color: #800000"&gt;td</span><span style="color: #0000ff"&gt;></span>

<span style="color: #0000ff"></<span style="color: #800000">tr<span style="color: #0000ff">><span style="color: #000000">

-->2

<span style="color: #0000ff"><<span style="color: #800000">tr<span style="color: #0000ff">>
<span style="color: #0000ff"><<span style="color: #800000">td <span style="color: #ff0000">colspan<span style="color: #0000ff">="8"<span style="color: #ff0000"> align<span style="color: #0000ff">="center"<span style="color: #ff0000"> class<span style="color: #0000ff">="pagelist"<span style="color: #0000ff">>
<span style="color: #0000ff"><?<span style="color: #ff00ff">php
$prev=$page-3;
$next=$page+3;
for ($i=$prev; $i<$next ; $i++) {
//如果是当前页则不加链接
if($i==$page){
echo "$i";
}else{
echo "$i";
}

    }
;</span><span style="color: #0000ff"&gt;?></span>
<span style="color: #0000ff"&gt;</</span><span style="color: #800000"&gt;td</span><span style="color: #0000ff"&gt;></span>

<span style="color: #0000ff"></<span style="color: #800000">tr<span style="color: #0000ff">><span style="color: #000000">

-->3

<span style="color: #0000ff"><<span style="color: #800000">tr<span style="color: #0000ff">>
<span style="color: #0000ff"><<span style="color: #800000">td <span style="color: #ff0000">colspan<span style="color: #0000ff">="8"<span style="color: #ff0000"> align<span style="color: #0000ff">="center"<span style="color: #ff0000"> class<span style="color: #0000ff">="pagelist"<span style="color: #0000ff">>
<span style="color: #0000ff"><?<span style="color: #ff00ff">php
$prev=$page-3;
$next=$page+3;
if($prev<1){
$prev=1;
}
if($nest > $pages){
$next=$pages;
}
for ($i=$prev; $i<$next ; $i++) {
//如果是当前页则不加链接
if($i==$page){
echo "$i";
}else{
echo "$i";
}

    }
;</span><span style="color: #0000ff"&gt;?></span>
<span style="color: #0000ff"&gt;</</span><span style="color: #800000"&gt;td</span><span style="color: #0000ff"&gt;></span>

<span style="color: #0000ff"></<span style="color: #800000">tr<span style="color: #0000ff">><span style="color: #000000">

-->4 判断当前页小于4,让分页始终保持7个

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读