分页无法正常工作 [英] Pagination is not working properly

查看:74
本文介绍了分页无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的分页代码。在我的代码中,我将在每个页面显示20个图像,但是我在第一页显示所有图像,如果再次单击page2,则显示相同的图像。请查看我的代码并给出我的宝贵建议。谢谢。

控制器:

  public function onSectorClick(){
$ id = $ _GET [id];
$ name = $ _GET [name];
$ this-> session-> set_userdata('sub1category_id',$ _GET ['id']);
$ this-> session-> set_userdata('sub1category_name',$ _GET ['name']);
$ this-> onSectorClickCopy();


public function onSectorClickCopy(){
$ this-> load-> model('Categories_model');
$ this-> load-> model('productdisplay_model');

$ data ['ListMenuLevel1'] = $ this-> Categories_model-> listsector1();

$ config = array();
$ config [base_url] = base_url()。 的index.php /首页/ onSectorClick?ID =。 $这 - >会话而>用户数据( sub1category_id) &安培;名称=。 $这 - >会话而>用户数据( sub1category_name);
$ total_row = $ this-> productdisplay_model-> record_count();
$ config ['total_rows'] = $ total_row;
$ config ['per_page'] = 20;
$ config ['use_page_numbers'] = TRUE;
$ config ['num_links'] = 1;
$ config ['cur_tag_open'] ='& nbsp;< a class =current>';
$ config ['cur_tag_close'] ='< / a>';
$ config ['next_link'] ='下一步';
$ config ['prev_link'] ='上一页';
$ this-> load-> library('pagination');
$ this-> pagination-> initialize($ config); ($ this-> uri-> segment(3)){
$ page =($ this-> uri-> segment(3))的
/ *
;
} else {
$ page = 1;

$ /
$ page =($ this-> uri-> segment(3)!=''?$ this-> uri-> :1);
// $ offset = $ config ['per_page'] * $ page;

offset =(($ config ['per_page'])*($ page - 1))+ 1;
$ limit = $ config ['per_page'] * $ page;
$ data ['sub1products'] = $ this-> productdisplay_model-> sub1Productsmenu($ this-> session-> userdata('sub1category_id'),$ limit,$ offset);
$ str_links = $ this-> pagination-> create_links();
$ data [links] = explode('& nbsp;',$ str_links);
$ this-> load-> view('productlist',$ data);
}

型号: b

  public function record_count(){
return $ this-> db-> count_all(sub1_category);


$ b public function sub1Productsmenu($ id,$ limit,$ offset){
return $ this-> db-> where('main_categoryid_fk' ,$ ID) - >获得( 'sub1_category') - >的结果();
$ this-> db->其中('offset'和'$ limit'之间的'sub1_category.id');
}

public function sub1Productfetch($ id){
$ query = $ this-> db-> select('product_image,sub1_category_name,product_description');


$ this-> db-> from('sub3_category');
$ this-> db-> join('sub2_category','sub3_category.sub2_categoryid_fk = sub2_category.id','left');
$ this-> db-> join('sub1_category','sub2_category.sub1_categoryid_fk = sub1_category.id','left');
// $ this-> db-> join('maincategory','sub1_category.main_categoryid_fk = maincategory.id','left');
$ this-> db-> where('sub1_category.id',$ id);

$ this-> db-> order_by('rand()');
$ this-> db-> limit(1);


return $ this-> db-> get() - > result();

$ b

查看:

 < div class =container-main> 
<?php
foreach($ sub1products as $ row){
foreach($ this-> productdisplay_model-> sub1Productfetch($ row-> id)as $ menu1){
?>
<! - < h5 class =product-head>农产品< / h5> - >
< div class =col-xs-12 col-sm-4 col-md-3>
< div class =prod-container>
< a href =<?php echo base_url();?> index.php / welcome / onSectorClick1?id =<?php echo $ row-> id;?>& name =<?php echo $ row-> sub1_category_name;?>>
< div class =prod_img>
< img src =<?php echo'data:image; base64,'。$ menu1-> product_image;?>宽度= 100%/>
< / div>
< div class =prod_desc>
< div class =prod-round-icon>< / div>
< h4 class =prod_title><?php echo $ row-> sub1_category_name; ?>< / H4>
< p class =prod_text><?php echo $ menu1-> product_description; ?>< / p为H.
< / div>

< div class =sub-products>
<?php
$ count = 0;
foreach($ this-> productdisplay_model-> sub2Productsmenu($ row-> id)as $ menu2){
?>

< p>< i class =fa fa-angle-right>< / i> <?php echo $ menu2-> sub2_category_name; ?>< / p为H.

<?php
$ count ++;
if($ count == 3){
break;
}
}
?>
< / div>
< div class =view-more>查看更多< / div>
< / a>
< / div>
< / div>
<?php
}
}
?>
< / div>
< div class =center>
< ul class =pagination>
<?php
foreach($ links为$ link){
echo< li> 。 $链接。 < /锂> 中;
}
?>
< / ul>
< / div>


解决方案

在我的代码中,我只是更改了会话变量。一切工作正常。

控制器

  public function onSectorClick (){

$ id = $ _GET [id];

$ this-> session-> set_userdata('sub1_id',$ _GET ['id']);

$ this-> onSectorClickCopy();

$ b $ public function onSectorClickCopy(){
if($ this-> session-> userdata('log_in')== TRUE){
$ id = $ this-> session-> userdata('id');
$ this-> load-> model('cart_model');
$ data [count] = $ this-> cart_model-> count_rows($ id);
}



$ data ['ListMenuLevel1'] = $ this-> Categories_model-> listsector1();

$ config = array();
$ config [base_url] = base_url()。 的index.php /首页/ onSectorClickCopy;
$ total_row = $ this-> productdisplay_model-> record_count($ this-> session-> userdata('sub1_id'));
$ config ['total_rows'] = $ total_row;
$ config ['per_page'] = 20;
// $ config ['uri_segment'] = 3;
$ config ['use_page_numbers'] = TRUE;
// $ config ['page_query_string'] = TRUE;
// $ config ['reuse_query_string'] = FALSE;
$ config ['num_links'] = 1;
$ config ['cur_tag_open'] ='& nbsp;< a class =current>';
$ config ['cur_tag_close'] ='< / a>';
$ config ['next_link'] ='下一步';
$ config ['prev_link'] ='上一页';
$ this-> load-> library('pagination');
$ this-> pagination-> initialize($ config);
/ * if($ this-> uri-> segment(3)){
$ page =($ this-> uri-> segment(3));
}
else {
$ page = 1; (3):1);(b)(b)(b)(b)(b)(b)
// $ offset = $ config ['per_page'] * $ page;
$ offset =(($ config ['per_page'])*($ page - 1));
$ limit = $ config ['per_page']] + 1;
$ data ['sub1products'] = $ this-> productdisplay_model-> sub1Productsmenu($ this-> session-> userdata('sub1_id'),$ limit,$ offset);
$ str_links = $ this-> pagination-> create_links();
$ data [links] = explode('& nbsp;',$ str_links);

$ this-> load-> view('productlist',$ data);

$ b

模特

($ *

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $' $('sub1_category');
$ this-> db->
$ this-> db-> where('main_categoryid_fk',$ id);
$ this-> db-> order_by(sub1_category.main_categoryid_fk);
$ query = $ this-> db-> get();
return $ query-> num_rows();



$ b公共功能sub1Productsmenu($ id,$ limit,$ offset){

$ this-> db- >选择( '*'); $('sub1_category');
$ this-> db->
$ this-> db-> where('main_categoryid_fk',$ id);
$ this-> db-> order_by(sub1_category.main_categoryid_fk);
$ this-> db->限制($ limit,$ offset);
return $ this-> db-> get() - > result();

}

public function sub1Productfetch($ id){


$ query = $ this-> db-> select ( 'product_image,sub1_category_name,PRODUCT_DESCRIPTION'); ('sub3_category');
$ this-> db->
$ this-> db-> join('sub2_category','sub3_category.sub2_categoryid_fk = sub2_category.id','left');
$ this-> db-> join('sub1_category','sub2_category.sub1_categoryid_fk = sub1_category.id','left');
$ this-> db-> join('maincategory','sub1_category.main_categoryid_fk = maincategory.id','left');
$ this-> db-> where('sub1_category.id',$ id);

// $ this-> db-> order_by('rand()');
$ this-> db-> limit(1);


return $ this-> db-> get() - > result();

}


This is my pagination code.In my code I am going to display 20 images in each page,But I am getting all images in first page and if I click page2 again the same images were displaying.Please review my code and give me your valuable suggestions.Thank you.

Controller:

public function onSectorClick() {
    $id = $_GET["id"];
    $name = $_GET["name"];
    $this->session->set_userdata('sub1category_id', $_GET['id']);
    $this->session->set_userdata('sub1category_name', $_GET['name']);
    $this->onSectorClickCopy();
}

public function onSectorClickCopy(){
    $this->load->model('Categories_model');
    $this->load->model('productdisplay_model');

    $data['ListMenuLevel1'] = $this->Categories_model->listsector1();

    $config = array();
    $config["base_url"] = base_url() . "index.php/welcome/onSectorClick?id=". $this->session->userdata('sub1category_id')."&name=".  $this->session->userdata('sub1category_name');
    $total_row = $this->productdisplay_model->record_count();
    $config['total_rows'] = $total_row;
    $config['per_page'] = 20;
    $config['use_page_numbers'] = TRUE;
    $config['num_links'] = 1;
    $config['cur_tag_open'] = '&nbsp;<a class="current">';
    $config['cur_tag_close'] = '</a>';
    $config['next_link'] = 'Next';
    $config['prev_link'] = 'Previous';
    $this->load->library('pagination');
    $this->pagination->initialize($config);
    /* 
    if($this->uri->segment(3)){
        $page = ($this->uri->segment(3)) ;
    }else{
        $page = 1;
    } 
    */
    $page = ($this->uri->segment(3) != '' ? $this->uri->segment(3) : 1);
    //$offset = $config['per_page']*$page;

    $offset = (($config['per_page']) * ($page - 1)) + 1;
    $limit = $config['per_page'] * $page;
    $data['sub1products'] = $this->productdisplay_model->sub1Productsmenu($this->session->userdata('sub1category_id'),$limit, $offset);
    $str_links = $this->pagination->create_links();
    $data["links"] = explode('&nbsp;', $str_links);
    $this->load->view('productlist', $data);
}

Model:

public function record_count() {
    return $this->db->count_all("sub1_category");
}


public function sub1Productsmenu($id,$limit, $offset){
    return $this->db->where('main_categoryid_fk',$id)->get('sub1_category')->result();
    $this->db->where("sub1_category.id between '$offset' and '$limit'");
}

public function sub1Productfetch($id) {
    $query = $this->db->select('product_image,sub1_category_name,product_description');


    $this->db->from('sub3_category');
    $this->db->join('sub2_category', 'sub3_category.sub2_categoryid_fk=sub2_category.id', 'left');
    $this->db->join('sub1_category', 'sub2_category.sub1_categoryid_fk=sub1_category.id', 'left');
    //$this->db->join('maincategory', 'sub1_category.main_categoryid_fk=maincategory.id', 'left');
    $this->db->where('sub1_category.id',$id);

    $this->db->order_by('rand()');
    $this->db->limit(1);


    return $this->db->get()->result();

}

View:

<div class="container-main">
<?php
    foreach ($sub1products as $row) {
        foreach ($this->productdisplay_model->sub1Productfetch($row->id) as $menu1) {
?>
    <!--<h5 class="product-head">Agriculture Products</h5>-->
    <div class="col-xs-12 col-sm-4 col-md-3">
        <div class="prod-container">
            <a href="<?php echo base_url(); ?>index.php/welcome/onSectorClick1?id=<?php echo $row->id; ?>&name=<?php echo $row->sub1_category_name; ?>">
            <div class="prod_img">
                <img src="<?php echo 'data:image;base64,' . $menu1->product_image; ?>" width="100%"/>
            </div>
            <div class="prod_desc">
                <div class="prod-round-icon"></div>
                <h4 class="prod_title"><?php echo $row->sub1_category_name; ?></h4>
                <p class="prod_text"><?php echo $menu1->product_description; ?></p>
            </div>

            <div class="sub-products">
            <?php
                $count = 0;
                foreach ($this->productdisplay_model->sub2Productsmenu($row->id) as $menu2) {
            ?>

                <p><i class="fa fa-angle-right"></i> <?php echo $menu2->sub2_category_name; ?></p>

                <?php
                    $count++;
                    if ($count == 3) {
                        break;
                    }
                }
                ?>
            </div>
            <div class="view-more"> view more</div> 
            </a>  
        </div>
    </div>
<?php
        }
    }
?>  
</div>
<div class="center">
    <ul class="pagination">
    <?php
        foreach ($links as $link) {
            echo "<li>" . $link . "</li>";
        }
    ?>
    </ul>
</div>

解决方案

In my code I just changed the session variable.Then everything its working fine.

Controller

    public function onSectorClick() {

            $id = $_GET["id"];

            $this->session->set_userdata('sub1_id', $_GET['id']);

            $this->onSectorClickCopy();
        }

        public function onSectorClickCopy(){
            if ($this->session->userdata('log_in') == TRUE) {
                $id = $this->session->userdata('id');
                $this->load->model('cart_model');
                $data["count"] = $this->cart_model->count_rows($id);
            }



            $data['ListMenuLevel1'] = $this->Categories_model->listsector1();

            $config = array();
            $config["base_url"] = base_url() . "index.php/welcome/onSectorClickCopy";
            $total_row = $this->productdisplay_model->record_count($this->session->userdata('sub1_id'));
            $config['total_rows'] = $total_row;
            $config['per_page'] = 20;
            //$config['uri_segment'] = 3;
            $config['use_page_numbers'] = TRUE;
            //$config['page_query_string'] = TRUE;
            //$config['reuse_query_string'] = FALSE;
            $config['num_links'] = 1;
            $config['cur_tag_open'] = '&nbsp;<a class="current">';
            $config['cur_tag_close'] = '</a>';
            $config['next_link'] = 'Next';
            $config['prev_link'] = 'Previous';
            $this->load->library('pagination');
            $this->pagination->initialize($config);
            /* if($this->uri->segment(3)){
              $page = ($this->uri->segment(3)) ;
              }
              else{
              $page = 1;
              } */
            $page = ($this->uri->segment(3) != '' ? $this->uri->segment(3) : 1);
            //$offset = $config['per_page']*$page;
            $offset = (($config['per_page']) * ($page - 1));
            $limit = $config['per_page']+1;
            $data['sub1products'] = $this->productdisplay_model->sub1Productsmenu($this->session->userdata('sub1_id'),$limit, $offset);
            $str_links = $this->pagination->create_links();
            $data["links"] = explode('&nbsp;', $str_links);

            $this->load->view('productlist', $data);

        }

Model

   public function record_count($id) {
        $this->db->select('*');
        $this->db->from('sub1_category');
        $this->db->where('main_categoryid_fk', $id);
        $this->db->order_by("sub1_category.main_categoryid_fk ");
        $query = $this->db->get();
        return  $query->num_rows();

    }


    public function sub1Productsmenu($id,$limit, $offset){

        $this->db->select('*');
        $this->db->from('sub1_category');
        $this->db->where('main_categoryid_fk', $id);
        $this->db->order_by("sub1_category.main_categoryid_fk ");
        $this->db->limit($limit, $offset);
        return $this->db->get()->result();

    }

    public function sub1Productfetch($id) {


        $query = $this->db->select('product_image,sub1_category_name,product_description');
        $this->db->from('sub3_category');
        $this->db->join('sub2_category', 'sub3_category.sub2_categoryid_fk=sub2_category.id', 'left');
        $this->db->join('sub1_category', 'sub2_category.sub1_categoryid_fk=sub1_category.id', 'left');
        $this->db->join('maincategory', 'sub1_category.main_categoryid_fk=maincategory.id', 'left');
        $this->db->where('sub1_category.id',$id);

        //$this->db->order_by('rand()');
        $this->db->limit(1);


        return $this->db->get()->result();

    }

这篇关于分页无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆