【问题标题】:Codeigniter: When i do search the pagination page still remainsCodeigniter:当我搜索时,分页页面仍然存在
【发布时间】:2016-01-04 02:03:40
【问题描述】:

当我搜索时,我有一个问题,页码仍然保留在 url 结果中,显示没有结果。例如,当我单击分页链接时,我的 url 看起来像这个 example/index.php/example/info/10 然后当我搜索时,现在的 url 看起来像这个 example/index.php/example/info/10?搜索=单词

我该如何解决这个问题

控制器

public function info($offset=0)
{       
    $this->load->library('pagination');

    $search = $this->input->get('search');
        $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;


    if($this->input->get('search')){

        $count = $this->ticketing_mdl->count_all_ticket();
        $config['total_rows'] = $count;
        $config['suffix'] = '?' . http_build_query($_GET, '', "&");
        $config['base_url'] = "/ticketing/index.php/ticketing/info";
        $config['first_url'] = "/ticketing/index.php/ticketing/info?search=$search";

    }else{
    $this->db->where('is_valid','1');
    $config['total_rows'] = $this->db->count_all_results('db_ticketing.tr_ticket');
    $config['base_url'] = "/ticketing/index.php/ticketing/info";
    }
    $limit = 10;
    $config['per_page'] = $limit;
    $config['num_links'] = $limit;

    $config['full_tag_open'] = '<div><ul class="pagination pagination-centered">';
    $config['full_tag_close'] = '</ul></div>';
    $config['num_tag_open'] = '<li>';
    $config['num_tag_close'] = '</li>';
    $config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
    $config['cur_tag_close'] = "<span class='sr-only'></span></a></li>";
    $config['next_tag_open'] = "<li>";
    $config['next_tagl_close'] = "</li>";
    $config['prev_tag_open'] = "<li>";
    $config['prev_tagl_close'] = "</li>";
    $config['first_tag_open'] = "<li>";
    $config['first_tagl_close'] = "</li>";
    $config['last_tag_open'] = "<li>";
    $config['last_tagl_close'] = "</li>";

    $config['first_link'] = 'First';        

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

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

    $data['ticket_list'] = $this->ticketing_mdl->get_all_ticket($limit,$page, $offset);

    $this->load->view('ticketing/header');
    $this->load->view('ticketing/left_menu');
    $this->load->view('ticketing/info',$data);
}

【问题讨论】:

  • 更改您的网址 $config['first_url'] = "/ticketing/index.php/ticketing/info?search=$search";到你想要的任何网址。

标签: codeigniter search pagination


【解决方案1】:

如果我是对的,请告诉我。

我认为您可以通过定义路线来控制它。

设置您的 $config['base_url'] 分页库,例如 example/index.php/search
并定义路由 (application/config/routes.php),例如

$route['search'] = "example/info";
$route['search/(:num)'] = "example/info/$1";

评论这个 $config['first_url'] = "/ticketing/index.php/ticketing/info?search=$search";
并且不要忘记设置 html 表单 action="echo site_url('search');"方法="获取"

希望能给你一些帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-28
    • 2016-06-15
    • 2012-05-15
    • 1970-01-01
    • 2020-05-01
    • 2012-12-03
    • 2022-01-07
    • 2014-03-26
    相关资源
    最近更新 更多