入住 CI 中国社区 登录
CodeIgniter 中国开发者社区 返回首页

jackbang的个人空间 https://codeigniter.org.cn/forums/?7819 [收藏] [复制] [分享] [RSS]

日志

第二个比较满意的分页都是基础型,带CSS的,基本上没改动

已有 1501 次阅读2013-6-25 15:43 | 分页的应用

控制器部分:

 /*
         * 联系人编辑列表(带删改按钮分页列表)
         */
        public function contact_list_edit($num = '')
        {
            //载入模型
             $this->load->model('contact_m');
             //获取记录总数
             $contact_total=$this->contact_m->get_contact_total();
          $this->load->library('pagination'); // 加载分页类
        $config['base_url'] = base_url().'index.php/contact/contact_list_edit'; // 分页的基础 URL
        $config['total_rows'] = $contact_total; // 统计数量
        $config['per_page'] = 2; // 每页显示数量,为了能有更好的显示效果,我将该数值设置得较小
        $config['num_links'] = 3; // 当前连接前后显示页码个数
        //$config['full_tag_open'] = ''; // 分页开始样式
        //$config['full_tag_close'] = ''; // 分页结束样式
        $config['first_link'] = '首页'; // 第一页显示
        $config['last_link'] = '末页'; // 最后一页显示
        $config['next_link'] = '下一页 >'; // 下一页显示
        $config['prev_link'] = '< 上一页'; // 上一页显示
        $config['cur_tag_open'] = ' <a class="current">'; // 当前页开始样式
        $config['cur_tag_close'] = '</a>'; // 当前页结束样式
        $this->pagination->initialize($config); // 配置分页
        //获取分页数据
          
        $data['post'] = $this->contact_m->get_page_list(intval($num),$config['per_page']); // 获取前分页数据
        $data['page'] = array(
                'total' => $config['total_rows'],
                'num' => $config['per_page'],
                'page' => (int) (($config['total_rows'] % $config['per_page'] === 0) ? ($config['total_rows'] / $config['per_page']) : ($config['total_rows'] / $config['per_page'] + 1)),
                'current' => ($num + 1) . '~' . ($num + $data['post']->num_rows)
        );
         //进入分页视图
        $this->load->view('contact/list_edit', $data);
        }
---------------------------------------------------------------
视图部分:

 <?php foreach ($post->result() as $item): ?>
          <tr>
          <td class="left_txt_downline" height="25" valign="top">&nbsp;</td>

       <td class="left_txt_downline" height="28" valign="top"><?php echo $item->cname?></td>
        <td class="left_txt_downline" height="28" valign="top"><?php echo $item->depart?></td>
        <td class="left_txt_downline" height="28" valign="top"><strong><?php if($item->mobile1==""){echo "--";}else{echo $item->mobile1;}?></strong></td>
        <td class="left_txt_downline" height="28" valign="top"><?php if($item->mobile2==""){echo "--";}else{echo $item->mobile2;}?></td>
        <td class="left_txt_downline" height="28" valign="top"><?php echo $item->phones?></td>
        <td class="left_txt_downline" height="28" valign="top"><?php echo $item->phonel?></td>
        <td class="left_txt_downline" height="28" valign="top"><?php if($item->remark==""){echo "--";}else{echo $item->remark;}?></td>
      
        <td class="left_txt_downline" height="28" valign="top"><a href="<?php echo site_url('contact/contact_delete/'.$item->id)?>">删除</a></td>

          </tr>
         <?php endforeach ?>
///////////////////////////////////////////
 <tr><!--分页导航栏开始-->
        <td width="2%">&nbsp;</td>
        <td width="51%" class="pagination"><div class="left_txt" >
每页 <b><?php echo $page['num']; ?></b> 条 / 当前 <b><?php echo $page['current']; ?></b> 条 / 计 <b><?php echo $page['page']; ?></b> 页 / 共 <b><?php echo $page['total']; ?></b> 条
<?php echo $this->pagination->create_links(); ?>
</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr><!--分页导航栏结束-->
////////////////////////////////////////////////////////////////////////////////

模型部分:
  /*
     * 获取分页记录
     * $pagenum 每页要显示的记录数
     * $offset 结果集偏移量(offset)就是指定从那条记录开始,要从第一条开始就是0,
     * mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
//如果只给定一个参数,它表示返回最大的记录行数目:
mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行
//换句话说,LIMIT n 等价于 LIMIT 0,n。
注意limit 10和limit 9,1的不同:

     */
    function get_page_list($offset,$page_record_num)
    {
        $query = $this->db->get('contact',$page_record_num,$offset);//注意:第一参数是表名,第二参数是每页纪录数,第三个参数是偏移(指定的记录点+1)
        return $query;// 生成对象结果集(要写RESULT())
    }

/////////////////////////////////////////////////////////////////////

样式部分:

/*************** Pagination  for MeMo Blog ***************/
#page .pagination {border-top:1px solid #dfdfdf; padding-top: 10px; text-align: left; margin-bottom: 10px; font-size: 10px;}
.pagination a ,.pagination a.number {margin: 0 5px 0 0; padding: 3px 6px; border: 1px solid #d0d0d0;}
.pagination a:hover,.pagination a.current {border-color: #000 !important; color: #000 !important;}


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 入住 CI 中国社区