php数据库分页跳转,php分页实现跳转

php分页功能怎么实现

php本身是没有分页概念的,分页是URL传参,然后通过mysql查询语句到数据库获取数据,然后实现的分页,url上的参数,通过PHP的$_GET都是可以获取到的。

创新互联公司主营章丘网站建设的网络公司,主营网站建设方案,成都app软件开发,章丘h5小程序制作搭建,章丘网站营销推广欢迎章丘等地区企业咨询

现在市面上的PHP框架基本都有PHP分页类,参照文档直接调用就好了,如果想看实现过程,可以去下载一个TP框架,然后打开里面的分页类查看里面的源代码。

PHP分页中跳转到指定页如何做

使用GET传参,再根据参数来确定查询数据开始的偏移量,例:

$sql = sprintf('SELECT * FROM t WHERE uid=1 LIMIT %d,10',$_GET['page']);

$_GET['page']决定查询结果集开始的序号,然后下一页的开始序号就是这个值加上每页显示的条数(这里是10).

php分页跳转

你这个太麻烦 我给你推荐一个

?php

class page

{

var $page_name="page";

var $next_page='';//下一页

var $pre_page='';//上一页

var $first_page='首页';//首页

var $last_page='尾页';//尾页

var $pre_bar='';//上一分页条

var $next_bar='';//下一分页条

var $format_left='';

var $format_right='';

var $page_webmode='';

/**

* private

*

*/

var $pagebarnum=10;//控制记录条的个数。

var $totalpage=0;//总页数

var $nowindex=1;//当前页

var $url="";//url地址头

var $offset=0;

/**

* c*****tructor构造函数

*

* @param array $array['total'],$array['perpage'],$array['nowindex'],$array['url'],$array['ajax']...

*/

function page($array)

{

if(is_array($array)){

if(!array_key_exists('total',$array))$this-error(__FUNCTION__,'need a param of total');

$total=intval($array['total']);

$perpage=(array_key_exists('perpage',$array))?intval($array['perpage']):10;

$nowindex=(array_key_exists('nowindex',$array))?intval($array['nowindex']):'';

$url=(array_key_exists('url',$array))?$array['url']:'';

}else{

$total=$array;

$perpage=10;

$nowindex='';

$url='';

}

if((!is_int($total))||($total0))$this-error(__FUNCTION__,$total.' is not a positive integer!');

if((!is_int($perpage))||($perpage=0))$this-error(__FUNCTION__,$perpage.' is not a positive integer!');

if(!empty($array['page_name']))$this-set('page_name',$array['page_name']);//设置pagename

$this-_set_nowindex($nowindex);//设置当前页

$this-_set_url($url);//设置链接地址

$this-totalpage=ceil($total/$perpage);

$this-total=$total;

$this-offset=($this-nowindex-1)*$perpage;

}

/**

* 设定类中指定变量名的值,如果改变量不属于这个类,将throw一个exception

*

* @param string $var

* @param string $value

*/

function set($var,$value)

{

if(in_array($var,get_object_vars($this)))

$this-$var=$value;

else {

$this-error(__FUNCTION__,$var." does not belong to PB_Page!");

}

}

/**

* 获取显示"下一页"的代码

*

* @param string $style

* @return string

*/

function next_page($style='',$nowindex_style='')

{

if($this-nowindex$this-totalpage){

return $this-_get_link($this-_get_url($this-nowindex+1),$this-next_page,$style);

}

return 'span class="'.$nowindex_style.'"'.$this-next_page.'/span';

}

/**

* 获取显示“上一页”的代码

*

* @param string $style

* @return string

*/

function pre_page($style='',$nowindex_style='')

{

if($this-nowindex1){

return $this-_get_link($this-_get_url($this-nowindex-1),$this-pre_page,$style);

}

return 'span class="'.$nowindex_style.'"'.$this-pre_page.'/span';

}

/**

* 获取显示“首页”的代码

*

* @return string

*/

function first_page($style='',$nowindex_style='')

{

if($this-nowindex==1){

return 'span class="'.$nowindex_style.'"'.$this-first_page.'/span';

}

return $this-_get_link($this-_get_url(1),$this-first_page,$style);

}

/**

* 获取显示“尾页”的代码

*

* @return string

*/

function last_page($style='',$nowindex_style='')

{

if($this-nowindex==$this-totalpage){

return 'span class="'.$nowindex_style.'"'.$this-last_page.'/span';

}

return $this-_get_link($this-_get_url($this-totalpage),$this-last_page,$style);

}

function nowbar($style='',$nowindex_style='')

{

$plus=ceil($this-pagebarnum/2);

if($this-pagebarnum-$plus+$this-nowindex$this-totalpage)$plus=($this-pagebarnum-$this-totalpage+$this-nowindex);

$begin=$this-nowindex-$plus+1;

$begin=($begin=1)?$begin:1;

$return='';

for($i=$begin;$i$begin+$this-pagebarnum;$i++)

{

if($i=$this-totalpage){

if($i!=$this-nowindex)

$return.=$this-_get_text($this-_get_link($this-_get_url($i),$i,$style));

else

$return.=$this-_get_text('span class="'.$nowindex_style.'"'.$i.'/span');

}else{

break;

}

$return.="\n";

}

unset($begin);

return $return;

}

/**

* 获取显示跳转按钮的代码

*

* @return string

*/

function select()

{

$return='select name="PB_Page_Select" onchange="self.location.href=\''.$this-url.'\'+this.opti*****[this.selectedIndex].value "';

for($i=1;$i=$this-totalpage;$i++)

{

if($i==$this-nowindex){

$return.='option value="'.$i.'" selected'.$i.'/option';

}else{

$return.='option value="'.$i.'"'.$i.'/option';

}

}

unset($i);

$return.='/select';

return $return;

}

/**

* 获取mysql 语句中limit需要的值

*

* @return string

*/

function offset()

{

return $this-offset;

}

/**

* 控制分页显示风格(你可以增加相应的风格)

*

* @param int $mode

* @return string

*/

function show($mode=1,$style='',$nowindex_style='')

{

switch ($mode)

{

case '1':

$this-next_page='下一页';

$this-pre_page='上一页';

$this-first_page='首页';

$this-last_page='尾页';

return $this-first_page($style,$nowindex_style)." ".$this-pre_page($style,$nowindex_style)." ".$this-next_page($style,$nowindex_style)." ".$this-last_page($style,$nowindex_style).' (当前第span style="color:#C16012; font-size:12pt;"'.$this-nowindex.'/span页 共span style="color:#C16012; font-size:12pt;"'.$this-totalpage.'/span页 span style="color:#C16012; font-size:12pt;"'.$this-total.'/span条记录)';

break;

case '2':

$this-next_page='下一页';

$this-pre_page='上一页';

$this-first_page='首页';

$this-last_page='尾页';

return $this-first_page($style,$nowindex_style)." ".$this-pre_page($style,$nowindex_style)." ".$this-next_page($style,$nowindex_style)." ".$this-last_page($style,$nowindex_style).' 第'.$this-select().'页 (当前第span style="color:#C16012; font-size:12pt;"'.$this-nowindex.'/span页 共span style="color:#C16012; font-size:12pt;"'.$this-totalpage.'/span页 span style="color:#C16012; font-size:12pt;"'.$this-total.'/span条记录)';

break;

case '3':

$this-next_page='下一页';

$this-pre_page='上一页';

$this-first_page='首页';

$this-last_page='尾页';

return $this-pre_page($style,$nowindex_style)." ".$this-nowbar($style,$nowindex_style)." ".$this-next_page($style,$nowindex_style).' (当前第span style="color:#C16012; font-size:12pt;"'.$this-nowindex.'/span页 共span style="color:#C16012; font-size:12pt;"'.$this-totalpage.'/span页 span style="color:#C16012; font-size:12pt;"'.$this-total.'/span条记录)';

break;

case '4':

$this-next_page='下一页';

$this-pre_page='上一页';

return $this-pre_page($style,$nowindex_style)." ".$this-nowbar($style,$nowindex_style)." ".$this-next_page($style,$nowindex_style).' 第'.$this-select().'页 (当前第span style="color:#C16012; font-size:12pt;"'.$this-nowindex.'/span页 共span style="color:#C16012; font-size:12pt;"'.$this-totalpage.'/span页 span style="color:#C16012; font-size:12pt;"'.$this-total.'/span条记录)';

break;

case '5':

$this-next_page='';

$this-pre_page='';

$this-first_page='';

$this-last_page='';

return $this-first_page($style,$nowindex_style)." ".$this-pre_page($style,$nowindex_style)." ".$this-nowbar($style,$nowindex_style)." ".$this-next_page($style,$nowindex_style)." ".$this-last_page($style,$nowindex_style).' (当前第span style="color:#C16012; font-size:12pt;"'.$this-nowindex.'/span页 共span style="color:#C16012; font-size:12pt;"'.$this-totalpage.'/span页 span style="color:#C16012; font-size:12pt;"'.$this-total.'/span条记录)';

break;

case '6':

$pagehtml="div";

if($this-nowindex1)

{

$pagehtml.="span class=\"pagenum-l\"a href=\"{$this-_get_url($this-nowindex-1)}\"img src=\"images/page_up.gif\" //a/span";

}

else

{

$pagehtml.="span class=\"pagenum-l\"img src=\"images/page_up.gif\" //span";

}

$pagehtml.="span class=\"pagenum-c\"";

$pagehtml.="tabletr";

$plus=ceil($this-pagebarnum/2);

if($this-pagebarnum-$plus+$this-nowindex$this-totalpage)$plus=($this-pagebarnum-$this-totalpage+$this-nowindex);

$begin=$this-nowindex-$plus+1;

$begin=($begin=1)?$begin:1;

for($i=$begin;$i$begin+$this-pagebarnum;$i++)

{

if($i=$this-totalpage){

if($i!=$this-nowindex)

$pagehtml.="td a href=\"{$this-_get_url($i)}\"{$i}/a /td";

else

$pagehtml.="td {$i} /td";

}else{

break;

}

$pagehtml.="\n";

}

unset($begin);

$pagehtml.="/tr/table";

$pagehtml.="/span";

if($this-nowindex$this-totalpage)

{

$pagehtml.="span class=\"pagenum-r\"a href=\"{$this-_get_url($this-nowindex+1)}\"img src=\"images/page_down.gif\" //a/span";

}

else

{

$pagehtml.="span class=\"pagenum-r\"img src=\"images/page_down.gif\" //span";

}

$pagehtml.="/div";

return $pagehtml;

break;

}

}

/*----------------private function (私有方法)-----------------------------------------------------------*/

/**

* 设置url头地址

* @param: String $url

* @return boolean

*/

function _set_url($url="")

{

if($this-page_webmode!="php"$url!=""){

$this-url=$url;

}

else{

if(!empty($url)){

//手动设置

$this-url=$url.((stristr($url,'?'))?'':'?').$this-page_name."=";

}else{

//自动获取

if(empty($_SERVER['QUERY_STRING'])){

//不存在QUERY_STRING时

$this-url=$_SERVER['REQUEST_URI']."?".$this-page_name."=";

}else{

//

if(stristr($_SERVER['QUERY_STRING'],$this-page_name.'=')){

//地址存在页面参数

$this-url=str_replace($this-page_name.'='.$this-nowindex,'',$_SERVER['REQUEST_URI']);

$last=$this-url[strlen($this-url)-1];

if($last=='?'||$last==''){

$this-url.=$this-page_name."=";

}else{

$this-url.=''.$this-page_name."=";

}

}else{

//

$this-url=$_SERVER['REQUEST_URI'].''.$this-page_name.'=';

}//end if

}//end if

}//end if

}

}

/**

* 设置当前页面

*

*/

function _set_nowindex($nowindex)

{

if(empty($nowindex)){

//系统获取

if(isset($_GET[$this-page_name])){

$this-nowindex=intval($_GET[$this-page_name]);

}

}else{

//手动设置

$this-nowindex=intval($nowindex);

}

}

/**

* 为指定的页面返回地址值

*

* @param int $pageno

* @return string $url

*/

function _get_url($pageno=1)

{

if($this-page_webmode=="php"||$this-page_webmode==""){

return $this-url.$pageno;

}

else{

return $this-url.(($pageno==1)?"":"_".$pageno).".".$this-page_webmode;

}

}

/**

* 获取分页显示文字,比如说默认情况下_get_text('a href=""1/a')将返回[a href=""1/a]

*

* @param String $str

* @return string $url

*/

function _get_text($str)

{

return $this-format_left.$str.$this-format_right;

}

/**

* 获取链接地址

*/

function _get_link($url,$text,$style=''){

$style=(empty($style))?'':'class="'.$style.'"';

return 'a '.$style.' href="'.$url.'"'.$text.'/a';

}

/**

* 出错处理方式

*/

function error($function,$errormsg)

{

die('Error in file b'.__FILE__.'/b ,Function b'.$function.'()/b :'.$errormsg);

}

}

?

调用方法:

?

include("classpage.php");

$queryrow = $DB-query("SELECT * FROM article where article_sortid='$cls' and type='1' ORDER BY article_id DESC");

$rows=$DB-num_rows($queryrow);

$total=$rows;

$pagesize=15;

$currentRow = empty($_GET['page']) ? 0 : ($_GET['page']-1)* $pagesize;

$queryId = $DB-query("SELECT * FROM article where article_sortid='$cls' and type='1' ORDER BY article_id DESC limit $currentRow,$pagesize");

$iiii=1;

while ($a_array=$DB-fetch_array($queryId)) {

?

table width="674" border="0" cellspacing="0" cellpadding="0" height="30px"

tr

td width="54" /td

td width="87" align="center" class="news" style="font-size:12px;"

?php

if($iiii10)

{

echo $iiii;

}

else

{

echo '0'.$iiii;

}

?

/td

td width="371" class="news" style="font-size:12px;"a href="newslist.php?id=?=$a_array[article_id]?"?=$a_array['article_title']?/a/td

td width="73" class="news" style="font-size:12px;"?=$a_array['article_hits']?/td

td width="89" class="news" style="font-size:12px;"?=substr($a_array['article_addtime'],0,10)?/td

/tr

/table

?php

$iiii++;

}

if ($iiii==1) echo "抱歉,没有搜索到任何信息。";

?

table width="720" border="0" cellspacing="0" cellpadding="0"

tr

td class="dibu" align="center" valign="top"

table width="98%" border="0" align="center" cellpadding="0" cellspacing="0"

tr

td width="52%" height="10" align="center"/td

td width="48%" align="center"/td

/tr

tr

td height="28" colspan="2" align="center" valign="bottom" style="font-size:12px"

?php

$page=new page(array('total'=$total,'perpage'=$pagesize));

$pagehtml=$page-show(6,"page","curr");

echo $pagehtml;

?

这个是调用方法

$pagehtml=$page-show(6,"page","curr"); 看到这个没有 里面是6 我调用的是6这种方法显示的 里面可以选择0 ,1, 2, 3, 4, 5, 6, 六中方法分页显示不同 具体的你可以试试 我目前用6的比较多点 呵呵


网站题目:php数据库分页跳转,php分页实现跳转
本文来源:http://ybzwz.com/article/hoeiec.html