• 技术文章 >后端开发 >php教程

    PHP 翻页 实例代码_php实例

    2016-06-07 17:26:16原创330
    复制代码 代码如下:

    class Page
    {
    private $pageSize;//每一页多少行
    private $absolutePage;//当前页
    private $pageCount;//总页码数
    private $totalNum;//总行数
    private $prePage;//上一页
    private $nextPage; //下一页
    private $sqlStr;
    private $baseUrl; //不带GET参数的URL get传输网址
    function __construct($pagesize,$absolutepage,$baseurl,$sqlStr)
    {
    $this->absolutePage = $absolutepage;
    $this->pageSize = $pagesize;
    $this->baseUrl = $baseurl;
    $this->sqlStr = $sqlStr;
    }
    //显示主体内容
    public function listinfo()
    {
    $result = DBHelper::ExecuteCommand($this->sqlStr);
    // $result = mysql_query($this->sqlStr,$conn);
    $this->totalNum = mysql_num_rows($result);//取处结果集的所有行数
    $this->pageCount = (int)(($this->totalNum -1)/$this->pageSize)+1; //计算出一共有多少页
    if($this->absolutePage == "" || !is_numeric($this->absolutePage))//如果是页面第一次加载那么absolutePage的值一定是空的这时我们认为用户是第一次访问就给他看第一页(当然你如果想给他看第5页也可以)
    {
    $this->absolutePage = 1;//给他看第一页
    }
    if($this->absolutePage > $this->pageCount)//如果请求的下一页的页码超过了总页数我们就显示最后一页
    {
    $this->absolutePage = $this->pageCount;//显示最后一页
    }
    if ($this->totalNum > 1 && $this->absolutePage > 1) //如果满足显示上一页的条件我们就让上一页的页码变量的值等于当前页(absolutePage)减一
    {
    $this->prePage = $this->absolutePage -1;
    }
    if($this->absolutePage >= 1 && $this->absolutePage < $this->pageCount)//在当前页至少是1并且不大于总页数时给下一页变量赋值为当前页加1
    {
    $this->nextPage = $this->absolutePage + 1;
    }
    if (mysql_data_seek($result,($this->absolutePage -1) * $this->pageSize))//决定从结果集的哪个位置开始检索数据//决定从结果集的哪个位置开始检索数据 mysql_data_seek指向下一行
    {
    include("goodsTemplate.php");
    for ($i = 0; $i < $this->pageSize; $i++)
    {
    if(($info = mysql_fetch_array($result)))
    {
    $name = $info['GoodsName'];
    $tupian = $info['GoodsPhopo'];
    $id = $info['GoodsId'];
    $price = $info['GoodsPrice'];
    $url = 'detail.php?id='.$id;
    $items = str_replace(array('{name}','{tupian}','{url}','{price}','{id}'),array($name,$tupian,$url,$price,$id),$goodsContent);//str_replace替换两个数组 第二个替换第一个数组,$goodsContent参数是要替换的对象
    $cishu++;
    echo $items;
    if ($cishu % 4 == 0)
    {
    ?>

    }
    }
    }
    }
    }
    //分页动作函数
    public function toPage()
    {
    include('toPageTemplate.php');
    if($this->totalNum > 1 && $this->absolutePage > 1)
    {
    $this->prePage = $this->absolutePage - 1;
    }
    if($this->absolutePage >= 1 && $this->absolutePage < $this->pageCount)
    {
    $this->nextPage = $this->absolutePage + 1;
    }
    $preUrl = $this->baseUrl."?absolutePage=$this->prePage";
    $nextUrl = $this->baseUrl."?absolutePage=$this->nextPage";
    $items = str_replace(array('{totalNum}','{absolutePage}','{pageCount}','{preUrl}','{nextUrl}'),array($this->totalNum,$this->absolutePage,$this->pageCount,$preUrl,$nextUrl),$toPage);
    echo $items;
    }
    }
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 翻页
    上一篇:php 分页函数multi() discuz_php实例 下一篇:IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年_php实例
    千万级数据并发解决方案

    相关文章推荐

    • 带你吃透16个PHP魔术方法• Zend Framework基本页面布局分析,zendframework_PHP教程• php输出全球各个时区列表的方法_PHP教程• PHP利用MySQL保存session的实现思路及示例代码,mysqlsession_PHP教程• PHP命名空间(namespace)的使用基础及示例,命名空间namespace_PHP教程
    1/1

    PHP中文网