一个分页类,只是有上一页,下一页很不好,加了个 跳到第X页的功能,但写后总是转到了主页里默认页面的第几页,而不是正在浏览页面的第几页,
函数如下;
class Pager{
private $count;// 条目总数
private $num ;//每页显示条数目
private $page;// 当前页码
private $pgcou;//总页数
private $url;//链接地址
function __construct($count,$num,$page,$url){
$this->count=$count;
$this->num = $num;
$this->page = $page;
$this->url=$url;
if(($this->count%$this->num)==0){
$this->pgcou=intval($this->count/$this->num);
}elseif(($this->count%$this->num)!=0){
$this->pgcou=intval(($this->count)/$this->num)+1;
}
if($this->page<1){
$this->page=1;
}
if($this->page>$this->pgcou){
$this->page=$this->pgcou;
}
}
function getfir(){//开始查询处
return ($this->page-1)*$this->num;
}
function getlaspage(){//尾页
return $this->pgcou;
}
function getdata(){
$this->data='<div style=" width:350px;float:right ;padding-top:8px">
当前页数['.$this->page.'/'.$this->pgcou.']
<a href="'.$this->url.'1">[首页]</a>
<a href="'.$this->url.($this->page-1).'">[上一页</a>]
<a href="'.$this->url.($this->page+1).'">[下一页]</a>
<a href="'.$this->url.$this->pgcou.'">[尾页]</a></div>
<div style="width:150px; float:right;">
<form name="pgform" action="'.$this->url.'" method="get" >//主要是这里
跳到第<input type="text" name="page" size="2" />页
<input type="submit" name="junpage" value="GO"/>
</form></div>';
return $this->data;
}
}
函数如下;
class Pager{
private $count;// 条目总数
private $num ;//每页显示条数目
private $page;// 当前页码
private $pgcou;//总页数
private $url;//链接地址
function __construct($count,$num,$page,$url){
$this->count=$count;
$this->num = $num;
$this->page = $page;
$this->url=$url;
if(($this->count%$this->num)==0){
$this->pgcou=intval($this->count/$this->num);
}elseif(($this->count%$this->num)!=0){
$this->pgcou=intval(($this->count)/$this->num)+1;
}
if($this->page<1){
$this->page=1;
}
if($this->page>$this->pgcou){
$this->page=$this->pgcou;
}
}
function getfir(){//开始查询处
return ($this->page-1)*$this->num;
}
function getlaspage(){//尾页
return $this->pgcou;
}
function getdata(){
$this->data='<div style=" width:350px;float:right ;padding-top:8px">
当前页数['.$this->page.'/'.$this->pgcou.']
<a href="'.$this->url.'1">[首页]</a>
<a href="'.$this->url.($this->page-1).'">[上一页</a>]
<a href="'.$this->url.($this->page+1).'">[下一页]</a>
<a href="'.$this->url.$this->pgcou.'">[尾页]</a></div>
<div style="width:150px; float:right;">
<form name="pgform" action="'.$this->url.'" method="get" >//主要是这里
跳到第<input type="text" name="page" size="2" />页
<input type="submit" name="junpage" value="GO"/>
</form></div>';
return $this->data;
}
}
<input type="submit" name="junpage" value="GO"/>
</form> </div>';
当然了,url就是一个链接地址参数,我的语句是'index.php?action=message&page='
主页是跟椐action值来加载相关的页面,但我用跳到X页时,就转到了默认页面,而不是我相要的message页面.
似乎<from>的'get'传递只是传了page值,而url值没有传过去.
我的意想值是在 index页面收到的url为index.php?action=message&page=2,从而跳到message的第二页.
但结果就不是
跳到第 <input type="text" name="page" size="2" />页
<input type="submit" name="junpage" value="GO"/>
</form> 改成
<form name="pgform" >
跳到第 <input type="text" name="page" size="2" />页
<input type="button" name="junpage" value="GO" onclick="window.location.href=\''.$this->url.'document.pgform.page.value\'"/>
</form>
我后来也用JS
function getdata(){
$this->data='<script style=javascript>
function go(){
var pg=document.pgform.page.value;
ul="'.$this->url.'"+pg;
document.forms["pgform"].action=ul;
document.pgform.submit();}</script>
<div style="width:150px; float:right;">
<form name="pgform" action="" method="post" onsubmit="javascript:go()" >
跳到第<input type="text" name="page" size="2" />页
<input type="submit" name="junpage" value="GO" />
</form></div><div style=" width:350px;float:right ;padding-top:8px;float:right">
当前页数['.$this->page.'/'.$this->pgcou.']
<a href="'.$this->url.'1">[首页]</a>
<a href="'.$this->url.($this->page-1).'">[上一页</a>]
<a href="'.$this->url.($this->page+1).'">[下一页]</a>
<a href="'.$this->url.$this->pgcou.'">[尾页]</a></div>';
return $this->data;
}