THINKPHP内容分页代码分享

  在使用Thinkphp开发的内容管理系统里面,很多东西都要自己开发,内容分页当然也是要自己开发的,下面是我根据查资料自己整理的方法:

  1、首先是在后台编辑内容的时候需要插入分页符,不同的编辑器分页符自然也不同了

  2、然后就是读取文章内容的时候,要根据分页符来把内容分割成多个数组然,这里需要传值当前是第几页,根据页数来读取分割后的数组

  代码如下:

  

复制代码 代码如下:

  <php>

  $arr_con=explode('_ueditor_page_break_tag_',$dy['art_content']);//分割内容

  $pagenum=count($arr_con);//计算页数

  //根据传值判断当前显示页数

  if(intval($_GET['p'])==0){

  $p=1;

  }else{

  $p=intval($_GET['p']);

  }

  //获得当前页的url

  $url  =  $_SERVER['REQUEST_URI'].(strpos($_SERVER['REQUEST_URI'],'?')?'':"?");

  $parse = parse_url($url);

  if(isset($parse['query'])) {

  parse_str($parse['query'],$params);

  unset($params['p']);

  $url   =  $parse['path'].'?'.http_build_query($params);

  }

  //有多少页都全部循环出来

  for($i=1;$i<=$pagenum;$i++){

  if($i==$p){

  $show.='<span style="color:#f00;">['.$i.']</span>';

  }

  else{

  $show.='<a href="'.$url.'&p='.$i.'">['.$i.']</a>';

  }

  }

  // dump($arr_con);

  $show=$pagenum==1?'':$show;//分页代码显示判断

  </php>

  {$arr_con[$p-1]}<!--这里是刚进入这篇文章显示的数据,数组键值从0开始-->

  注意:如果使用的Thinkphp,并且配置了静态化,

  则修改配置文件'News:article'=>array('{:module}/{:action}_{art_id}_{p}',0),加个p参数

  以上仅供参考,具体还要根据自己具体项目来调整,相信小伙伴们能够将其扩展的很好。