Home  >  Article  >  Backend Development  >  求个具体的php+mysql分页-不要网上搜的

求个具体的php+mysql分页-不要网上搜的

WBOY
WBOYOriginal
2016-06-23 14:05:51762browse

一、从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;	}	private function pagelist_2(){		$_page='';		$_page_start=floor($this->_page/$this->_list_size);		$usenum=$this->check(($_page_start*$this->_list_size+10),$this->_page_num);		for($i=$_page_start*$this->_list_size+1;$i<=$usenum;$i++){			$_page.="<a href=".$this->_page_url."&page=".$i.">".$i."</a>";			}		return $_page;	}	private function pagelist_3(){		$page='';		for($i=$this->_page-$this->_page_sort;$i<=$this->_page-1;$i++){			if($i<1)continue;			$page.="<a href=".$this->_page_url."&page=".$i.">".$i."</a>".' ';		}		$page.="<a href=".$this->_page_url."&page=".$this->_page.">".$this->_page."</a>".' ';		for($i=$this->_page+1;$i<=$this->_page+$this->_page_sort;$i++){			if($i>$this->_page_num)break;			$page.="<a href=".$this->_page_url."&page=".$i.">".$i."</a>".' ';		}		return $page;	}	/**	 * 没有修正的分页列表	 * Enter description here ...	 */	private function pagelist_4(){		$page='';		for($i=$this->_page-$this->_page_sort;$i<=$this->_page-1;$i++){			if($i<1)continue;			$page.="<a href=".$this->_page_url."&page=".$i.">".$i."</a>".' ';		}		$page.="<a href=".$this->_page_url."&page=".$this->_page.">".$this->_page."</a>".' ';		for($i=$this->_page+1;$i<=$this->_page+$this->_page_sort;$i++){			if($i>$this->_page_num)break;			$page.="<a href=".$this->_page_url."&page=".$i.">".$i."</a>".' ';		}		//+1和-1为了排除上一页显示的值,不然会重复		if($this->_page>($this->_page_sort+1) && $this->_page<($this->_page_num-$this->_page_sort)){			$page="<a href=".$this->_page_url."&page=".($this->_page-$this->_page_sort*2-1).">...</a>".$page."<a href=".$this->_page_url."&page=".($this->_page+$this->_page_sort*2+1).">...</a>";		}		return $page;	}	private function check($num1,$num2){		if($num1>$num2){			return $num2;		}else{			return $num1;		}	}	public function showpage($_type){		$_page='';		$_page.=$this->first();//首页		switch($_type){			case '1':				$_page.=$this->pagelist_1();//原始页面列表				break;			case '2':				$_page.=$this->pagelist_2();//原始页面列表				break;			case '3':				$_page.=$this->pagelist_3();//原始页面列表				break;			case '4':				$_page.=$this->pagelist_4();//原始页面列表				break;			default:				$_page.=$this->pagelist_3();//默认原始页面列表		}		$_page.=$this->end();//尾页		$_page.=$this->prev();//上一页		$_page.=$this->next();//下一页		return $_page;	}}//	$page = new page(220,10,10);//	echo $page->showpage('4');

这个好像可以用

不好意思,我是初学者,对类不太会用,现在是点击(如家电)后显示以下内容:
当前位置  |  首页  |   家电类  
内容1
内容2
内容3 
共 2页  第 1页  共 5 条记录 下一页 尾页
点下一页只显示:
当前位置  |  首页  |  类
共 8页  第 2页  共 30 条记录 首页上一页 下一页 尾页 

虽然不太懂,但我找到其他方法了

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn