zoukankan      html  css  js  c++  java
  • php分页原理

    <?php
    1.分页原理
    
    所需数据:
    总记录数: $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;
    
    
    3.
    //分页相关变量
    $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;
    }
    </style>
    
    <tr>
        <td colspan="8" align="center" class="pagelist">
        <?php
            for ($i=1; $i<$pages ; $i++) { 
                //如果是当前页则不加链接
                if($i==$page){
                    echo "<span>$i</span>";
                }else{
                    echo "<a href='magin.php?page=$i'>$i</a>";    
                }
                
            }
        ;?>
        </td>
    </tr>
    
    -->2
    
    <tr>
        <td colspan="8" align="center" class="pagelist">
        <?php
            $prev=$page-3;
            $next=$page+3;
            for ($i=$prev; $i<$next ; $i++) { 
                //如果是当前页则不加链接
                if($i==$page){
                    echo "<span>$i</span>";
                }else{
                    echo "<a href='magin.php?page=$i'>$i</a>";    
                }
                
            }
        ;?>
        </td>
    </tr>
    
    
    -->3
    
    <tr>
        <td colspan="8" align="center" class="pagelist">
        <?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 "<span>$i</span>";
                }else{
                    echo "<a href='magin.php?page=$i'>$i</a>";    
                }
                
            }
        ;?>
        </td>
    </tr>
    
    
    -->4 判断当前页小于4,让分页始终保持7个
  • 相关阅读:
    Js变量类型
    前端面试题HTML
    AP聚类
    锚点
    html
    Active Learning主动学习
    z-index
    position
    学习笔记_卷积神经网络
    学习笔记_深度学习的数学基础
  • 原文地址:https://www.cnblogs.com/yangzailu/p/7744384.html
Copyright © 2011-2022 走看看