目标要求:
实现类似下面新闻网站,详情页面分页代码,可以大大增加网站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分页代码