2014-01-23 3 views
3

Я пытаюсь предоставить объект разбиение на страницы и поиск по ключевым словам в одном отчете с Framework-воспламенителем Framework.Проблема с Codeigniter Pagination And Search

Ниже приведен код контроллера для этой цели:

$queryString="?start_date=".$values['start_date']."&end_date=".$values['start_date']."&keyword=".$values['keyword'].""; 
    if($this->uri->segment(3)){ 
     $offset=$this->uri->segment(3); 
     $config['base_url'] = base_url()."reports/mysearch_search/".$offset.$queryString;      
    }else{ 
     $config['base_url'] = base_url()."reports/mysearch_search/".$queryString; 
    } 
    $query = $this->db->query("SELECT * FROM (`dlrReport`) WHERE LEFT(`res_submit_date`,10) >= '".$values['start_date']."' AND LEFT(`res_submit_date`,10) <= '".$values['end_date']."' AND (number LIKE '%".$values['keyword']."%' OR source LIKE '%".$values['keyword']."%')");    
    $config['total_rows']=$query->num_rows();    
    $config['per_page'] = 2;  
    $this->pagination->initialize($config); 
    $where = array('LEFT(res_submit_date,10) >=' => $values['start_date'],'LEFT(res_submit_date,10) <=' =>$values['end_date']); 
    $this->db->where($where); 
    $this->db->where("(number LIKE '%".$values['keyword']."%' OR source LIKE '%".$values['keyword']."%')"); 
    $res = $this->db->get('dlrReport', $config['per_page'], $this->uri->segment(3)); 
    $dlr['details']= $res->result();  
    $dlr['start_date']=$values['start_date']; 
    $dlr['end_date']=$values['end_date']; 
    $dlr['keyword']=$values['keyword'];   
    $this->load->view('mysearch',$dlr); 

Получение Ниже ссылки в постраничной ссылок, которые не работают:

http://Host/project/reports/mysearch_search/?start_date=2014-01-23&end_date=2014-01-23&keyword=/2 

Url я жду в постраничной ссылок как :

http://Host/project/reports/mysearch_search/2?start_date=2014-01-23&end_date=2014-01-23&keyword= 

Как я могу получить правильный URL для поиска цели?

ответ

1

Вот хороший пример из самого кода. Codeigniter Pagination проверьте это.

По умолчанию codeigniter ожидает URL-адрес страницы так.

http://localhost/project/reports/mysearch_search/2014-01-23/2014-01-23/2 

$start_date =$this->uri->segment(5); 
$end_date = $this->uri->segment(6); 
$keyword = $this->uri->segment(7); 

и если вам нужен этот вид URL, то вы должны изменить

http://example.com/index.php?c=test&m=page&per_page=20 

, то вы должны изменить, чтобы установить это на конфигурационный файл

$ конфиг [ «enable_query_strings»] установлено значение TRUE