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
欢迎转载!但请带上文章地址^^