貝殼 发表于 2012-6-20 20:27:33

分页类真心蛋疼死,问题一大堆求高手啊

最近因为项目的关系,一定得用分页,CI内建分页类,就是我用起来常常有问题...

http://i.imgur.com/PwnLS.jpg

第一页,很正常没问题

http://i.imgur.com/asKwK.jpg

第二页,突然变成十个结果...

http://i.imgur.com/J1DAX.jpg

第三页,十三个...{:soso_e153:}

http://i.imgur.com/EvyDF.jpg

第四页,八个...{:soso_e141:}

http://i.imgur.com/dTwtt.jpg

第五页,三个,而且还跟第四页的重复...{:soso_e109:}

Contrller::


        public function myQuestion($page=0)
                {
        $this->load->library('session');
        $data['user_name']=$this->session->userdata('user_name');
        if(@$data['user_name']!=null){
                        $data['board_name']=$this->data_title_real;
                        $data['realname']=$this->data_title_index;
                        $data['title']=$this->data_title_myq;
                        $data['description']=$this->data_description;
                        $data['more']=$this->data_more;
                        $this->load->model('Question_model');
                        $this->load->database();
                        $this->load->library('pagination');

                        $config['base_url'] = '/index.php/question/myQuestion/';
                        $config['total_rows'] = $this->Question_model->count_my_questions($data['user_name']);
                        $config['per_page'] = 5;
                        $config['first_link'] = '«第一頁';
                        $config['last_link'] = '最後一頁»';
                        $config['full_tag_open'] = '<li>';
                        $config['full_tag_close'] = '</li>';
                        $config['cur_tag_open'] = '<li><a>';
                        $config['cur_tag_close'] = '</li></a>';
                        $config['num_tag_open'] = '<li>';
                        $config['num_tag_close'] = '</li>';
                        $config['next_link'] = '下一頁&raquo;';
                        $config['prev_link'] = '&laquo;上一頁';
                        if(isset($page))
                                {
                        }else {
                        $page=0;
                                }
                        if(!is_numeric($page)){
                        exit;
                        }

                        $data['mine']=$this->Question_model->my_questions($data['user_name'],$page,$page+5);

                        if(!isset($data['mine'])){
                        exit;
                        }

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

                        $data['pagelink'] = $this->pagination->create_links();



                if($this->Question_model->count_my_questions($data['user_name']) >= 1){
                $this->load->view('header_view',$data);
                $this->load->view('myQuestion_view',$data);
                $this->load->view('footer_view');
                } else {
                $data['board_name']=$this->data_title_real;
                $data['realname']=$this->data_title_index;
                $data['title']=$this->data_title_success;
                $data['description']=$this->data_description;
                $data['more']=$this->data_more;
                $msg['success']=$this->data_msg_noq;
                $msg['icon']='error.png';
                $msg['urlto']=$this->msg_url_tos;
                $this->load->view('header_view',$data);
                $this->load->view('messageSuccess_view',$msg);
                $this->load->view('footer_view');
                }
                } else {
                $data['board_name']=$this->data_title_real;
                $data['realname']=$this->data_title_index;
                $data['title']=$this->data_title_success;
                $data['description']=$this->data_description;
                $data['more']=$this->data_more;
                $msg['success']=$this->data_user_nologin;
                $msg['icon']='error.png';
                $msg['urlto']=$this->msg_url_to;
                $this->load->view('header_view',$data);
                $this->load->view('messageSuccess_view',$msg);
                $this->load->view('footer_view');
        }
                }


Model::

        public function my_questions($uname,$page,$pages)
        {
                $query_my_question = $this->db->query("SELECT * FROM `pre_questions` WHERE `question_askuser` LIKE '$uname' order by `question_qid` desc LIMIT $page, $pages ");
                if ($query_my_question->num_rows() > 0){
                return $query_my_question;
                }
        }


View::


<div class="container">       
<div class="hero-unit">
<h1>我的问题</h1>
<p>你好,<strong><?php echo $user_name; ?></strong>,底下是您的发问纪录,方便您找到您过去问过的问题。</p>
<div class="well">
<?php foreach ($mine->result() as $m){ ?>
<?php if($m->question_closedate > date('Y-m-d')) { ?>
<li>
<?php if($m->question_isanswered!=0){ ?>
<span class="badge badge-success">已解决</span>&nbsp
<?php } else { ?>
<span class="badge badge-important">未解决</span>&nbsp
<?php } ?>
<span class="badge badge-success">未到期</span>&nbsp
<a href="/index.php/question/view/<?php echo $m->question_qid; ?>"><?php echo $m->question_title; ?></a></li><br>
<?php } else { ?>
<li>
<?php if($m->question_isanswered!=0){ ?>
<span class="badge badge-success">已解决</span>&nbsp
<?php } else { ?>
<span class="badge badge-important">未解决</span>&nbsp
<?php } ?>
<span class="badge badge-important">已到期</span>&nbsp
<a href="/index.php/question/view/<?php echo $m->question_qid; ?>"><?php echo $m->question_title; ?></a></li><br>
<?php } ?>
<?php } ?>
</div>
<div class="pagination">
<ul>
<?php echo $pagelink; ?>
</ul>
</div>
</div>


真心蛋疼,求助{:soso_e134:}

ilci 发表于 2012-6-21 00:57:07

$data['mine']=$this->Question_model->my_questions($data['user_name'],$page,$page+5);

$query_my_question = $this->db->query("SELECT * FROM `pre_questions` WHERE `question_askuser` LIKE '$uname' order by `question_qid` desc LIMIT $page, $pages ");

你这2个明显不对么

rubekid 发表于 2012-6-21 08:48:14


第二个参数是每页的条数, 应该是个常量 , 不带变量 $page写码小心驶得万年船

hzysoft 发表于 2012-6-21 09:27:50

$page, $page+5

后面一个是常量,就是每页限制数--》是固定的。
页: [1]
查看完整版本: 分页类真心蛋疼死,问题一大堆求高手啊