我有分頁和codeigniter的問題。我有一個從女巫的quick_searh視圖,我將這些信息提交給索引控制器函數,並在那裏設置分頁並調用quick_search方法來獲取我想要的數據。它只是沒有用。我花了5個多小時重寫這些方法,甚至從quick_search開始,然後傳遞給索引函數,但沒有任何工作,請幫助。codeigniter分頁,功能之間發送參數
public function index(){
// search parameters config
$lawyer_name = $this->input->post('lawyer_name');
$kanzlei = $this->input->post('kanzlei');
$area_of_expertise = $this->input->post('area_of_expertise');
$post_code = $this->input->post('post_code');
$city = $this->input->post('city');
$result = $this->quick_search(
$this->uri->segment(3),
$lawyer_name,
$kanzlei,
$area_of_expertise,
$post_code,
$city);
if(isset($result)){
// pagination config
$this->load->library('pagination');
$this->load->library('table');
$config['total_rows'] = count($result);
$config['base_url'] = 'http://localhost/anwalt/index.php/search/index';
$config['per_page'] = 5;
$config['num_links'] = 5;
$this->pagination->initialize($config);
$data['search_result_array'] = $result;
$data['main_content'] = 'pages/quick_search_results';
$this->load->view('templates/home_body_content', $data);
}
}
的quick_search功能:
public function quick_search($offset, $lawyer_name, $kanzlei, $area_of_expertise, $post_code, $city){
// no input in the quick search
if(empty($lawyer_name) && empty($kanzlei) && empty($area_of_expertise)
&& empty($post_code) && empty($city))
{
$result = 'nothing';
} else {
$this->load->model('quick_search_model');
$result = $this->quick_search_model->get_search_results(
$offset,
$lawyer_name,
$kanzlei,
$area_of_expertise,
$post_code,
$city
);
}
return $result;
}
的SQL是這樣的:
$sql = "SELECT users.user_id, users.canonical_name, first_name, last_name, city, phone_number, kanzlei
from users
inner join user_normal_aos
on users.user_id = user_normal_aos.user_id
inner join normal_areas_of_expertise
on user_normal_aos.normal_areas_of_expertise_id = normal_areas_of_expertise.normal_areas_of_expertise_id
where ".implode(" AND ", $where);
if(empty($offset)){
$offset = 0;
}
$sql = $sql." LIMIT ".$offset.", 4";
的數據顯示,但我沒有看到拼版在那裏..甚至當我想改變分割它的網址說我沒有任何數據。
的看法是這樣的:
<h1>Quick search results</h1>
<?php
if($search_result_array == "nothing"){
echo "<h3>You havent inputed anything</h3>";
} else {
echo $this->table->generate($search_result_array);
}
echo $this->pagination->create_links();
謝謝你的回答,我已經實現了你的想法,但它無效,我也在'base_url()'中添加了post_code和city。爲模型添加了一個新的函數,返回行數,但現在當我點擊2.頁面時,這實際上是基礎url更改的時間,並且我得到一個錯誤seking這個頁面不存在: - /我做了有問題 ? – kalafun
我不好改變這一行,上面的答案是缺少控制器名稱,我假設你的控制器名稱是'搜索':'$ config ['base_url'] = base_url()。'index.php/search/index/lawyer /'.$ lawyer_name。'/ kanzlei /'.$ kanzlei。'/ area_of_expertise /'.$ area_of_expertise。'/ post_code /'.$ city。'/ page /';' –
是的,我有這樣的:'' $ config ['base_url'] = base_url()。'index.php/search/index/lawyer /'.$ lawyer_name。'/ kanzlei /'.$ kanzlei。'/ area_of_expertise /'.$ area_of_expertise。'/ post_code/'。$ post_code。'/ city /'.$ city。'/ page /';'但它仍然不起作用。當我點擊搜索按鈕時,網址就像'../ index.php/search/index' – kalafun