Php CodeIgniter搜索输入和分页URL

Php CodeIgniter搜索输入和分页URL,php,codeigniter,pagination,Php,Codeigniter,Pagination,我想创建一个URL,其中包含来自搜索表单的字符串和来自分页的页面 例如,我的基本URL是example.com/search 当显示搜索结果时,它将是example.com/search/?s=keyword,当显示下一页的搜索结果时,第二页的搜索结果将是example.com/search/?s=term&p=2,依此类推 如何在CodeIgniter中做到这一点?试试这个。这里使用了page而不是URL中的p $keyword = trim($this->input->get('

我想创建一个URL,其中包含来自搜索表单的字符串和来自分页的页面

例如,我的基本URL是
example.com/search

当显示搜索结果时,它将是
example.com/search/?s=keyword
,当显示下一页的搜索结果时,第二页的搜索结果将是
example.com/search/?s=term&p=2
,依此类推


如何在CodeIgniter中做到这一点?

试试这个。这里使用了
page
而不是URL中的
p

$keyword = trim($this->input->get('s', TRUE));
$this->load->library('pagination');
$config['total_rows'] = $this->db->get('table_name')->num_rows();
$config['per_page'] = 10;
$config['num_links'] = 5;
$config['enable_query_strings'] = TRUE;
$config['use_page_numbers'] = TRUE;
$config['query_string_segment'] = 'page';
$config['page_query_string'] = TRUE;
$config['base_url'] = site_url('search/index/?s=' . $keyword);
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
if ($this->input->get('page')) {
    $sgm = (int) trim($this->input->get('page'));
    $segment = $config['per_page'] * ($sgm - 1);
} else {
    $segment = 0;
}

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

// your query
$query = $this->db->select('*')->from('table_name')->limit($config['per_page'], $segment)->get();
$keyword=trim($this->input->get('s',TRUE));
$this->load->library('pagination');
$config['total_rows']=$this->db->get('table_name')->num_rows();
$config['per_page']=10;
$config['num_links']=5;
$config['enable_query_strings']=TRUE;
$config['use_page_number']=TRUE;
$config['query_string_segment']='page';
$config['page\u query\u string']=TRUE;
$config['base\u url']=site\u url('search/index/?s='。$keyword);
$config['full_tag_open']='
    ; $config['full_tag_close']='
'; 如果($this->input->get('page')){ $sgm=(int)trim($this->input->get('page'); $segment=$config['per_page']*($sgm-1); }否则{ $segment=0; } $this->pagination->initialize($config); //你的问题 $query=$this->db->select('*')->from('table_name')->limit($config['per_page',$segment)->get();

现在,您的URL将与您在问题中提到的相同

我不是CodeIgniter的高手,但您不能检查查询字符串中的
p
参数,如果不存在,则只将值设置为
1
。基于谷歌搜索,
$this->input->get('p',TRUE)
将在字符串中获得p的值,在php中,您不能将其包装在
if
语句中,然后继续吗?