新手没看CI的分页类,自己写了个供大家调用
class Seperatepage_model extends CI_Model {function __construct()
{
parent::__construct();
$this->load->database();
}
/*
* 分页类,参数形式
* array(
* 'sqlstate'=>'' //数据库查询语句
* 'begin'=>'' //开始的数目
* 'step'=>'' //跳跃的步长
* );
* */
function seperatepage($value=array('sqlstate'=>'','begin'=>'0','step'=>'10','uri'=>'')){
if(is_array($value)){
$state='';
// 取得总数目
$allres=$this->db->query($value['sqlstate']);
$num=$allres->num_rows;
// 向上取整获得总页面
$numpage=ceil($num/$value['step']);
// 当前页面,以0开始,显示时页面为+1
$nowpage=($value['begin']/$value['step']);
foreach($value as $key => $val){
switch($key){
case 'sqlstate':$state.=$val;break;
case 'begin':$state.=' limit '.$val;break;
case 'step':$state.=' , '.$val;break;
}
}
$query=$this->db->query($state);
$result=$query->result_array();
// 返回结果
$page['result']=$result;
// 翻页字符串
$spage='<a href="'.site_url('admin/admin_news/showtitle/0/'.$value['step']).'">首页</a> ';
$spage.='总第:'.($nowpage+1).'/'.$numpage.'页 ';
if(($nowpage-1)<0){
$uppage=0;
}else{
$uppage=$nowpage-1;
}
$spage.='<a href="'.site_url('admin/admin_news/showtitle/'.$uppage*$value['step'].'/'.$value['step']).'">上一页 </a> ';
for($i=0;$i<5;$i++){
$setpage=$nowpage+$i+1;
//if($setpage<=$numpage){
if($nowpage+1<=3){
$spage.='<a href="'.site_url('admin/admin_news/showtitle/'.$i*$value['step'].'/'.$value['step']).'"> '.$this->add0($i+1).'</a> ';
}else if($nowpage+3<=$numpage){
$setpage2=$setpage-2;
$spage.='<a href="'.site_url('admin/admin_news/showtitle/'.($setpage-3)*$value['step'].'/'.$value['step']).'"> '.$this->add0($setpage2).'</a> ';
}else if($nowpage+3>$numpage){
$spage.='<a href="'.site_url('admin/admin_news/showtitle/'.($numpage+$i-5)*$value['step'].'/'.$value['step']).'"> '.$this->add0($numpage+$i-4).'</a> ';
}
//}
}
if(($nowpage+1>=$numpage-1)){
$lastpage=$numpage-1;
}else{
$lastpage=$nowpage+1;
}
$spage.=' <a href="'.site_url('admin/admin_news/showtitle/'.$lastpage*$value['step'].'/'.$value['step']).'">下一页</a>';
$spage.=' <a href="'.site_url('admin/admin_news/showtitle/'.($numpage-1)*$value['step'].'/'.$value['step']).'">尾页 </a>';
// 返回翻页字符串
$page['spage']=$spage;
return $page;
}
}
/*不到十补0
* */
function add0($value){
if($value<10){
return '0'.$value;
}else{
return $value;
}
}
} 沙发自己拿介绍用法,返回的是个数组,$page['result']是返回的数据库中调用出来的结果,也是数组形式,直接随便你们怎么使用了,放表格,标签里随便你们了,$page['spage']是用来点击的下面一行,随便放哪里 板凳也给抢了,传值中的uri忘记赋值了,直接用了字符串'admin/admin_news/showtitle/',把这个当成uri的值,传进去的,就是你在哪个控制下调用这个model就是哪个控制器的uri 没人啊,第一次发帖,包含了 第一次发帖真的很无语,是分页类,不是分类,太激动打错字了 支持楼主~加分了~ 很不错哦 支持一下 学习的来喽,哈哈 不错,我也是新手啊 CI的原生分页类在构造函数和初始化方法中貌似的确是有点问题,但其实不用这么幸苦自己写的,自己拓展一下这个类修复了还是很好用的
页:
[1]
2