首页 > php代码 > smarty页函数

smarty页函数

<?php
/*******************************************
writer:zhaofei299
Emai:zhaofei299@163.com
*******************************************/
class Page {
    var $pageSize; //每页显示的数据数
    var $page; //当前页面数
    var $amount; //总数据数
    var $amountPage; //总页数
    var $pageNum; //每页显示的链接数
    function __construct($size, $pageNum) //构造函数,初始化成员属性
    {
        $this->pageSize = $size; //每页显示数据数
        $this->amount = 0;
        $this->ampuntPage = 0;
        $this->pageNum = $pageNum; //每页显示多少页数链接
        link_data(); //连接数据库
        
    }
    function getPage() //得到当前页面数
    {
        $id = trim($_GET['id']); //当前页面id
        $this->getAmount(); //得到总数据数
        $amountPage = $this->getAmountPage(); //总页数
        if (isset($id) && $id > 0) //如果参数id存在 并且 参数id大于0
        $this->page = intval($id); //取其整数部分
        else $this->page = 1; //将1赋给当前页面
        if (isset($id) && ($id > $amountPage)) //如果参数id存在 并且 参数id大于总页数
        $this->page = $amountPage; //将总页数赋给当前页数
        
    }
    function getStart() //得到LIMIT数据 开始的索引
    {
        $start = ($this->page - 1) * 5;
        return $start; //返回开始索引
        
    }
    function getInfo($start, $sql) //得到数据表中的数据信息,并以数组的形式返回
    {
        $array = array(); //初始化数组
        $result = mysql_query($sql); //执行sql语句
        while (@$reArray = mysql_fetch_array($result)) //从数据表中取出一行,作相关,索引数组操作
        {
            $array[] = $reArray; //将包含数据信息的数组添加入新的数组中
            
        }
        return $array; //返回一个二维数组
        
    }
    function getAmount() //得到总数据数
    {
        $sql = "SELECT count(*) as count FROM talk_info"; //查询
        $result = mysql_query($sql);
        $reArray = mysql_fetch_array($result);
        return $this->amount = $reArray['count']; //总数据数
        
    }
    function getAmountPage() //得到总页数
    {
        $this->amountPage = $this->amount / $this->pageSize; //总页数= 总数据数 / 每页显示数据数
        if (!is_int($this->amountPage)) //如果计算得到的总页数不是整形
        $this->amountPage = intval($this->amountPage) + 1; //取其整数部分+1;
        return $this->amountPage;
    }
    function getPageLinks() //得到当前页面显示的所有的链接,并以数组的形式返回
    {
        $amountPage = $this->amountPage; //总页面数
        $pageNum = $this->pageNum; //每页显示的链接数
        $page = $this->page; //当前页数
        $urlArray = array();
        if ($page > 1) //如果当前页面数大于1
        {
            $urlArray[] = "<a href='talk.php?id=1'> [|<<] </a>";
            $urlArray[] = "<a href='talk.php?id=" . ($page - 1) . "'>  [<<]  </a>";
        } else {
            $urlArray[] = '[|<<]';
            $urlArray[] = '[<<]';
        }
        $p = intval($page / 5) + 1; //区间
        $a = ($p - 1) * 5 + 1;
        for ($j = $a; $j < $a + $pageNum; $j++) {
            if ($j > $amountPage) break;
            if ($j == $page) $urlArray[] = '[' . $j . ']';
            else $urlArray[] = "<a href='talk.php?id=" . $j . "'> [" . $j . "] </a>";
        }
        //}
        if ($page < $amountPage) //当前页面数小于总页面数
        {
            $urlArray[] = "<a href='talk.php?id=" . ($page + 1) . "'>  [>>]  </a>";
            $urlArray[] = "<a href='talk.php?id=" . $amountPage . "'>  [>|]  </a>";
        } else {
            $urlArray[] = '[>>]';
            $urlArray[] = '[>|]';
        }
        return $urlArray; //返回包含所有链接的数组
        
    }
}


教程地址:http://www.phprm.com/code/41b1106e2fb55f9077925942cadaed5a.html

欢迎转载!但请带上文章地址^^

标签:none

发表留言