내 검색 결과 페이지에 페이지 매김을 구현하려고합니다. 어제이 질문에 아무런 답변이 없었습니다 Records not limited on searchpage using codeigniter pagination
그리고 제가 지금 가지고있는 문제는 조금 다릅니다.
상황
내 매김 링크가 작동하고 나는이 같은 URL 변경을 참조하십시오 http://example.com/home/searchresults/2 등 (매김의 두 번째 페이지를) 그러나 모든의 SearchResult이 표시됩니다. 한도를 1로 편집하면 링크가 더 많아 지므로 올바르게 작동합니다.
질문
어떤 바보 같은 문제가 될 수 있을까? 나는 내 TOTAL_ROWS
내 컨트롤러와 관련이있다 생각 :
function searchresults()
{
$this->breadcrumbs->page = array('link'=> base_url().'home/search' ,'title' => 'Bedrijven Zoeken');
$this->breadcrumbs->method = array('link'=> base_url().'home/searchresults' ,'title' => 'Zoekresultaten');
$data['breadcrumbs'] = $this->breadcrumbs->get();
$match = $this->input->post('search');
if(strlen($this->input->post('cookie')) > 0){ $match2 = $this->input->post('cookie'); } else{ $match2 = '9101'; }
$this->load->library('pagination');
$limit = 4;
$offset=($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$config['base_url'] = base_url().'home/searchresults/';
$config['total_rows'] = count($this->bedrijven_model->get_search($match, $match2, $limit, $offset));
$config['per_page'] = $limit;
$config['use_page_numbers'] = TRUE;
$config['num_links'] = 5;
$this->pagination->initialize($config);
$offset = $this->uri->segment(3);
$data['links'] = $this->pagination->create_links();
//$data['query'] = $this->bedrijven_model->get_search($match, $match2, 2147483647, 0); /*large number as limit to retrieve all the rows*/
$data['query_curr'] = $this->bedrijven_model->get_search($match, $match2, $config['per_page'], $this->uri->segment(3));
$this->load->view('views/header');
$this->load->view('views/searchresults', $data);
$this->load->view('views/footer');
}
내 모델 :
function get_search($match, $match2, $limit, $offset=0)
{
if(!isset($_SESSION))
{
session_start();
};
/*
$string = implode($_SESSION['postcodes'], '|');
$string2 = $_SESSION['searched_post_code'];
*/
$postcodes = (is_array($_SESSION['postcodes']) ? $_SESSION['postcodes'] : array());
$postcodes[] = $_SESSION['searched_post_code'];
$postcodes = array_filter(filter_var_array($postcodes, FILTER_VALIDATE_INT));
$string = join(',', $postcodes);
if (!isset($_COOKIE['cookie'])) {
$query = "SELECT * FROM (`bedrijfcategorieen`)
JOIN `bedrijven` ON `bedrijfcategorieen`.`idbedrijven` = `bedrijven`.`idbedrijven`
JOIN `categorieen` ON `bedrijfcategorieen`.`idcategorieen` = `categorieen`.`idcategorieen`
WHERE (`Bedrijfsnaam` LIKE '%".$this->input->post('search')."%'
OR `Plaats` LIKE '%".$this->input->post('search')."%'
OR `Telefoonnummer` LIKE '%".$this->input->post('search')."%'
OR `Email` LIKE '%".$this->input->post('search')."%'
OR `Website` LIKE '%".$this->input->post('search')."%'
OR `Profiel` LIKE '%".$this->input->post('search')."%'
OR `Adres` LIKE '%".$this->input->post('search')."%'
OR `Categorie` LIKE '%".$this->input->post('search')."%')
AND (Postcode IN ($string))
GROUP BY `Categorie`, `bedrijfcategorieen`.`idbedrijven`";
$query = $this->db->query($query);
$this->db->limit($limit, $offset);
echo '<pre>';
echo '</pre>';
$result = $query->result_array();
return $result;
}
나는 사람이 좀 도와 수 있기를 바랍니다. 나는 거의 3 시간 동안 이것으로 고투하고있다.
$query = "SELECT * FROM (`bedrijfcategorieen`)
JOIN `bedrijven` ON `bedrijfcategorieen`.`idbedrijven` = `bedrijven`.`idbedrijven`
JOIN `categorieen` ON `bedrijfcategorieen`.`idcategorieen` = `categorieen`.`idcategorieen`
WHERE (`Bedrijfsnaam` LIKE '%".$this->input->post('search')."%'
OR `Plaats` LIKE '%".$this->input->post('search')."%'
OR `Telefoonnummer` LIKE '%".$this->input->post('search')."%'
OR `Email` LIKE '%".$this->input->post('search')."%'
OR `Website` LIKE '%".$this->input->post('search')."%'
OR `Profiel` LIKE '%".$this->input->post('search')."%'
OR `Adres` LIKE '%".$this->input->post('search')."%'
OR `Categorie` LIKE '%".$this->input->post('search')."%')
AND (Postcode IN ($string))
GROUP BY `Categorie`, `bedrijfcategorieen`.`idbedrijven`
LIMIT ".$offset.", ".$limit;
$result = $this->db->query($query);
return $result->result_array();
난이 오류가 http://i.imgur.com/FxmjLVA.png을 제한> $ this-를 사용하지합니다 그냥 봐. –
LIMIT을 GROUP BY 아래에 넣으십시오. 업데이트 된 코드를 참조하십시오. – Mudshark
거의 동일한 오류가 발생했습니다. http://im.imgur.com/6jNQz6J.png –