分页提交获取值codeigniter

时间:2017-12-14 13:06:17

标签: php codeigniter pagination

我使用GET方法搜索记录。现在,当我应用分页时,我无法理解如何将数据提交到下一个分页页面链接。 我试过这个answer。但它只是在链接段中堆叠页码。

示例:

从 的本地主机/ PHC /搜索/结果/ 0 S = AI&安培; product_cat =所有&安培; post_type =产物

要 的本地主机/ PHC /搜索/结果/ S = AI&安培; product_cat =所有&安培; post_type =产物/ 12 / 24-

所以我没有使用那段代码。

现在我的代码是:

 public function results() {
        //pagination
        $offset = $this->uri->segment(3);
        $limit = 12;
        //$offset = 0;
        $data['limit'] = $limit;
        $config['base_url'] = base_url() . 'search/results/';
        $config['first_url'] = base_url() .'search/results/0';

        $data['total'] = $this->All_data_model->countSearchProducts($_GET);

        $config['total_rows'] = $data['total']; 
        $config['per_page'] = $limit;
        $config['uri_segment'] = 3;
        $config['next_link'] = 'Next';
        $config['prev_link'] = 'Previous';

        $this->pagination->initialize($config);
        $data['pagination'] = $this->pagination->create_links();
        $data['offset'] = $offset;
        $data['total_rows'] = $config['total_rows'];


        $data['page'] = 'search';
        $data['navbar'] = $this->All_data_model->navbarContent();

        $data['products'] = $this->All_data_model->searchResults($_GET , $offset , $limit);
        $this->template->write_view('content', 'products/search', $data);
        $this->template->render();
    }

如果不是GET,请说明在这种情况下提交数据的最佳方式,以及如何访问此数据。

1 个答案:

答案 0 :(得分:1)

在网址中添加偏移量

 localhost/phc/search/results?s=ai&product_cat=all&post_type=product&offset=123

并设置这些配置。

$config['page_query_string'] = TRUE;
$config['query_string_segment'] = 'offset';
$config['reuse_query_string'] = TRUE;

我改变了你的代码,但它根本没有经过测试。

public function results() {

  //pagination

  $offset = $this->input->get('offset') ? $this->input->get('offset') : 0;

  $limit = 12;
  $data['limit'] = $limit;

  $config['base_url'] = base_url() . 'search/results/';

  $data['total'] = $this->All_data_model->countSearchProducts($_GET);

  $config['total_rows'] = $data['total']; 
  $config['per_page'] = $limit;

  // set these mostly...
  $config['page_query_string'] = TRUE;
  $config['query_string_segment'] = 'offset';
  $config['reuse_query_string'] = TRUE;

  $config['next_link'] = 'Next';
  $config['prev_link'] = 'Previous';

  $this->pagination->initialize($config);
  $data['pagination'] = $this->pagination->create_links();
  $data['offset'] = $offset;
  $data['total_rows'] = $config['total_rows'];


  $data['page'] = 'search';
  $data['navbar'] = $this->All_data_model->navbarContent();

  $data['products'] = $this->All_data_model->searchResults($_GET , $offset , $limit);

  $this->template->write_view('content', 'products/search', $data);
  $this->template->render();
  }