日期:2014-05-17  浏览次数:20709 次

求个具体的php+mysql分页-----不要网上搜的
一、从a页点击在b页进行分页显示
二、分页显示的代码
三、有首页 上页 1 2 3 4 5 下页 末页的功能
四、翻页后能正常显示内容就是点击上页下页能正常显示数据库的数据(a页传来的参数不丢失),

------解决方案--------------------
class page{
private $_page_num;//总页数
private $_page_size=10;//每页条数
private $_page_url;//url链接
private $_limit;//limit1
private $_page_total;//总分页数
private $_page;//分页所传分页值
private $_list_size=10;//这为第二种分页方法显示条数
private $_page_sort=3;//分页两边距离
public function __construct($_total,$_pagesize,$_list_size){
$this->_page_size=$_pagesize;
$this->_page_total=$_total;
$this->_list_size = $_list_size;
$this->_page_num = round($this->_page_total/$this->_page_size);
$this->_page=$this->getnum();
$this->_limit="limit".$this->_page*$this->_page_size.",".$this->_page_total=$_total;
$this->_page_url=$this->seturl();
}
/**
 * 获取当前页数
 * Enter description here ...
 */
private function getnum(){
if(isset($_GET['page'])){
if(is_numeric($_GET['page'])){
if($_GET['page']>0){
if(ceil($_GET['page'])>=1 && ceil($_GET['page'])<=$this->_page_num){
return ceil($_GET['page']);
}elseif(ceil($_GET['page'])>$this->_page_num){
return $this->_page_num;
}
}else{
return 1;
}
}else{
return 1;
}
}else{
return 1;
}
}
/**
 * 转换链接
 * Enter description here ...
 */
private function seturl(){
$_url=$_SERVER['REQUEST_URI'];//获取请求地址
$_par=parse_url($_url);//解析url
if(isset($_par['query'])){//判断是否存在aa=bb这种格式
$_url=parse_str($_par['query'],$_query);//重构url
unset($_query['page']);
$_url=$_par['path'].'?'.http_build_query($_query);
}else{
$_url=$_url.'?';
}
return $_url;
}

public function limit(){
return $this->_limit;
}

public function pagenum(){
return $this->_page_num;
}

/*
public function page(){
return $this->_page;
}
public function pageurl(){
return $this->_page_url;
}
*/

private function first(){
return "<a href=".$this->_page_url."&page=1>首页</a>";
}
private function end(){
return "<a href=".$this->_page_url."&page=".$this->_page_num.">尾页</a>";
}
private function prev(){
if($this->_page>1){
return "<a href=".$this->_page_url."&page=".($this->_page-1).">上一页</a>";
}else{
return '上一页';
}
}
public function next(){
if($this->_page<$this->_page_num){
return "<a href=".$this->_page_url."&page=".($this->_page+1).">下一页</a>";
}else{
return '下一页';
}
}
private function pagelist_1(){
$_page='';
for($i=1;$i<=$this->_page_num;$i++){
 $_page.="<a href=".$this->_page_url."&page=".$i.">".$i."</a>";
}
return $_page;