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