目标要求:
实现类似下面新闻网站,详情页面分页代码,可以大大增加网站pv,提高广告收入
php实现代码如下,
$data['res']['pages']=''; $content_pages = explode('<hr style="page-break-after:always;" class="ke-pagebreak" />',$data['res']['content']); //分页代码 详情页最多显示10页 if(isset($content_pages[1])){ $p_count=count($content_pages);//总页数 if($p_count>10){$p_count=10;} //当前分页代码 if(substr($this->uri->segment(3),-7,1)!='_'){ $p= 1; }else{ $p= substr($this->uri->segment(3),-6,1); } $cur_page = min(max(1,intval($p)),$p_count); $data['res']['content']=$content_pages[$cur_page-1]; $pages=''; if($p==1){ $pages.='<a class="pg_first" href="'.base_url().$model.'/'.$control.'/'.$id.'.html">上一页</a>'; }else { $nn=$p-1; $pages.='<a class="pg_first" href="'.base_url().$model.'/'.$control.'/'.$id.'_'.$nn.'.html">上一页</a>'; } for ($t=1; $t<=$p_count; $t++) { $pg_class='pg_link'; if($p==$t){$pg_class='pg_curr';} $pages.='<a class="'.$pg_class.'" href="'.base_url().$model.'/'.$control.'/'.$id.'_'.$t.'.html">'.$t.'</a>'; } if($p==$p_count){ $pages.='<a class="pg_next" href="'.base_url().$model.'/'.$control.'/'.$id.'.html">下一页</a>'; }else { $nn=$p+1; $pages.='<a class="pg_next" href="'.base_url().$model.'/'.$control.'/'.$id.'_'.$nn.'.html">下一页</a>'; } $data['res']['pages']=$pages; }代码解释
1、详情页以<hr style="page-break-after:always;" class="ke-pagebreak" />作为文章的分隔符。首先以分隔符,将文章内容转化为二位数组。判断文章分页总数
2、获取文章当前页码。默认是第一页
3、根据文章当前页码,确定当前详情页要展示的内容
4、组织前端html分页代码