微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP 翻页 实例代码

<div class="codetitle"><a style="CURSOR: pointer" data="70949" class="copybut" id="copybut70949" onclick="doCopy('code70949')"> 代码如下:

<div class="codebody" id="code70949">
<?PHP
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)
{
?>
</tr><tr>
<?PHP
}
}
}
}
}
//分页动作函数
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;
}
}
?>

原文地址:https://www.jb51.cc/php/29096.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐