How can I integrate pagination to my search in CodeIgniter?

后端 未结 1 343
半阙折子戏
半阙折子戏 2021-01-25 07:56

I\'ve used codeigniter to make an easy search, no ajax or something, and I want to integrate the pagination class, I have read some examples and they use a library like this

相关标签:
1条回答
  • 2021-01-25 08:33

    Here is an example (not using a model)

    public function big()
    {
        $this->load->library('pagination');
        $this->load->library('table');
    
        $config['base_url'] = base_url().'/site/big/';
        $where = "bot = '2' OR bot = '0'";
        $this->db->where($where);
        $config['total_rows'] = $this->db->count_all_results('visitors');
        $config['per_page'] = 15;
        //$config['num_links'] = 20;
        $config['full_tag_open'] = '<div id="pagination">';
        $config['full_tag_close'] = '</div>';
    
        $this->pagination->initialize($config);     
    
        $where = "bot = '2' OR bot = '0'";
        $this->db->where($where);
        $this->db->select('id, ip, date, page, host, agent, spammer, country, total, refer');
        $this->db->order_by("date", "DESC");
        $data['records'] = $this->db->get('visitors', $config['per_page'], $this->uri->segment(3));
    
        $this->table->set_heading('Id', 'IP', 'Date', 'Page', 'Host', 'Agent', 'Spam', 'Country', 'Total', 'Referer');
    
       $this->db->select_sum('total', 'trips');
       $query = $this->db->get('visitors');
       $data['trips'] = $query->result();
    
        $this->load->view('site_view', $data);      
    }
    

    In the view where I want the table:

    <?php echo $this->table->generate($records); ?>
    <?php echo $this->pagination->create_links(); ?>
    

    to add buttons in the rows do something like this

    foreach($records as $row){
    $row->title = ucwords($row->title);
    
    $this->table->add_row(
    $row->date,
    anchor("main/blog_view/$row->id", $row->title),
    $row->status,    
    anchor("main/delete/$row->id", $row->id, array('onClick' => "return confirm('Are you sure you want to delete?')")),
    anchor("main/fill_form/$row->id", $row->id)
    );
    }
    $table = $this->table->generate();
    echo $table;
    

    Of course you will modify to fit your needs

    0 讨论(0)
提交回复
热议问题