为什么在 CodeIgniter 中分页链接对我不起作用?

学习编程php44

我正在尝试为我的产品使用 codeigniter 分页,因此有多个页面哪些产品对我不起作用,我不知道为什么..

这是我的控制器中的分页功能:

//code om in allecadeaus te bepalen hoeveel producten er per pagina zitten
   public function pagination() {
        //load pagination library
        $this->load->library('pagination');
        //laad Products_model voor pagination
        $this->load->model('Pagination_model');
        $this->load->model('Product_model');

        $config = array();
        $config["base_url"] = base_url() . "AlleCadeausController/pagination";
        $config["total_rows"] = $this->products->record_count();
        $config["per_page"] = 24;
        $config['cur_tag_open'] = '<a><b class="text-success">';
        $config['cur_tag_close'] = '</b></a>';
        $config["uri_segment"] = 3;
        $config['use_page_numbers'] =True;
        $config['enable_query_strings'];

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

        $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
        $data['title'] = "Products";
        $data['products'] = $this->Product_model->selectProducts();
        $data["links"] = $this->pagination->create_links();

        $this->load->view("allecadeaus", $data);
    }

使用这条线,我从产品表中获取所有产品:

$data['products'] = $this->Product_model->selectProducts();

我的分页模型:

<?php
class Pagination_model extends CI_Model
{

    public function __construct() {
        parent::__construct();
    }

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

     public function fetch_products($limit, $start) {
        $this->db->limit($limit, $start);
        $query = $this->db->get_where('users',array('Is_Hidden'=>0));

        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $data[] = $row;
            }
            return $data;
        }
        return false;
    }

?>

在我的所有产品页面上,我现在尝试回显链接,但它不起作用。我没有看到正确的链接,只有 1 个链接指向其他内容。这是我在所有产品页面上查看的代码:

<div class="text-center"><nav aria-label="Page navigation">
                                            <ul class="pagination">

                                                <li><?php echo $links; ?></li>

                                            </ul>
                                        </nav></div>

我究竟做错了什么?

阿卜杜勒萨拉姆 |

请按以下方式进行一些更改:

控制器:

public function pagination($row = 0) {
     //load pagination library
        $this->load->library('pagination');
        //laad Products_model voor pagination
        $this->load->model('Pagination_model');
        $this->load->model('Product_model');
        $config = array();
        $limit = '24';      
        $config['base_url'] = site_url() . '/AlleCadeausController/pagination';
        $config['full_tag_open'] = "<ul class='pagination'>";
        $config['full_tag_close'] = '</ul>';
        $config['num_tag_open'] = '<li>';
        $config['num_tag_close'] = '</li>';
        $config['cur_tag_open'] = '<li class="active"><a href="#">';
        $config['cur_tag_close'] = '</a></li>';
        $config['prev_tag_open'] = '<li>';
        $config['prev_tag_close'] = '</li>';
        $config['first_tag_open'] = '<li>';
        $config['first_tag_close'] = '</li>';
        $config['last_tag_open'] = '<li>';
        $config['last_tag_close'] = '</li>';
        $config['prev_link'] = '<i class="fa fa-long-arrow-left"></i>Previous Page';
        $config['prev_tag_open'] = '<li>';
        $config['prev_tag_close'] = '</li>';
        $config['next_link'] = 'Next Page<i class="fa fa-long-arrow-right"></i>';
        $config['next_tag_open'] = '<li>';
        $config['next_tag_close'] = '</li>';     
        $config["total_rows"] = $this->Product_model->record_count();            
        $config['per_page'] = $limit;
        $this->pagination->initialize($config);  
        $data['links'] = $this->pagination->create_links();
        $data['products'] = $this->Product_model->selectProducts($row,$limit);
        $this->load->view("allecadeaus", $data);
    }

模型:

function selectProducts($row,$limit)
        {   
            $query = $this->db->get('Your_table_name',$limit,$row);

            if ($query->num_rows() > 0){
              return $query->result_array();
            }
             else {
              return array();
            }

        }

function record_count(){        
        $this->db->from('Your_table_name');         
        $query = $this->db->get();
        $row = $query->num_rows();
        return $row;
    }

这会帮助你..谢谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章