小凡 发表于 2010-10-20 22:52:47

求助 为什么我的分页仅仅显示出三页呢???

这是我的控制 文件的代码:
<?php
class Message extends Controller{                       
        function Message() {
                              parent::Controller();
                $this->load->helper('form');
                $this->load->helper('url');
                $this->load->database();
               }       
        function index(){
              $this->load->library('pagination');
                     $this->load->model('Mbook');   
              $config['base_url']=base_url().'index.php/message/index/';
                  $config['total_rows']=$this->db->count_all('messages');
                  $config['per_rows']='5';
                  $config['full_tag_open'] = '<p >';
                  $config['full_tag_close'] = '</p>';
                  $this->pagination->initialize($config);
              $data['mgs_list']=$this->Mbook->mgs_page('messages',$config['per_rows'],$this->uri->segment(3));
             $this->load->view('index',$data);
        }
}
?>
下面是我的模型文件的代码:
<?php
class Mbook extends Model{

            function Mbook() {
                  parent::Model();
         }   
        function mgs_page($tablename,$pagesize,$pageval){          
             $this->db->order_by("id", "desc");
                     $query = $this->db->get($tablename,$pagesize,$pageval);
                     return $query->result();        
        }
}
?>
最后是view页面的代码:
<?php foreach($mgs_list as $row):?>
<table align="center" width="80%" bgcolor="#66CCFF">
    <tr>
              <td>标题:<?=$row->title;?> </td>
               
        </tr>
       <tr>
              <td>&nbsp;&nbsp;&nbsp;<?=$row->content;?></td>               
        </tr>
        <tr>
              <td align="right">留言者:<?=$row->name;?> &nbsp;&nbsp;留言时间:<?=$row->date;?></td>               
        </tr>

</table>
<?php endforeach;?>
<?php echo $this->pagination->create_links();?>

主要代码都在这了 不知道有什么问题我的数据库里面有35条记录,可是我的index.php的分页只显示出三页,不管我的那个$config['per_rows']等于几都只是显示出三页的内容来,我是新手,不懂得地方很多,希望那位大哥给小弟细心指点下谢谢啦!!!!

Hex 发表于 2010-10-21 10:31:45

CI 的分页类就是这样,只显示前三页,只有你点击第三页的时候才会出现后面的内容。
这就是老外的习惯,除非你自己修改分页类源码,否则只能接受这样的形式,呵呵

小凡 发表于 2010-10-21 10:39:07

回复 2# Hex


    可是我点击第三页了    也不会出现后面的页码不明白为什么???你是说我的程序没有问题么??

Hex 发表于 2010-10-21 11:00:22

$config['per_rows']='5';
改成
$config['per_page']='5';

hahaliu007 发表于 2010-10-21 11:41:56

除了改$config['per_page'], 如果还有问题的话,请查看你的base_url是否设置正确,在config.php文件中,改了这两个地方后,在我电脑上是可以分页了的

小凡 发表于 2010-10-21 13:23:13

本帖最后由 小凡 于 2010-10-21 13:29 编辑

回复 4# Hex


    谢谢你 按照你说的问题解决了

sunxch100 发表于 2010-10-26 18:34:58

$config['num_links'] = 5;
设置这个为5或者10或者你想一开始就显示的页数,就有你想要的效果了!

ckwn 发表于 2010-12-23 22:39:34

我也遇到同样的问题了。 links 总是 显示第一页数据是第二页的,但是第二页还能点。
$this->load->database();
                $this->load->helper('url');
                $this->load->library('pagination');
                $config['base_url'] = base_url().URI_INDEX.'admin/news/manage/';
                $config['total_rows'] = $this->db->count_all('news');
                $config['per_page'] = '5';
                //$config['num_links'] = 5;
                $config['full_tag_open'] = '<p>';
                $config['full_tag_close'] = '</p>';

                $this->pagination->initialize($config);

                $data['results'] = $this->News_model->select_limit($config['per_page'],$this->uri->segment(4));

                // load the HTML Table Class
                $this->load->library('table');
                $this->table->set_heading('Id', 'Type', 'Title', 'Top', 'content', 'date_top', 'date_add');

                // load the view
                $this->load->view('admin/news_list', $data);

ckwn 发表于 2010-12-23 22:40:47

我的Controller 在 子文件夹下 所以写 segment(4)跟这个没关系

Hex 发表于 2010-12-23 23:03:54

回复 9# ckwn


    你少写了
$config['uri_segment'] = 4;
仔细看手册和我发布的教程你就能看到相关内容。
页: [1] 2
查看完整版本: 求助 为什么我的分页仅仅显示出三页呢???