2011-07-23 21 views
0

ページネーションライブラリを編集せずにCodeigniterでAJAXページネーションを使用することはできますか?ページネーションライブラリを編集すると、人生がずっと楽になりますか?CodeigniterのAJAXページネーション

答えて

1

ページネーションライブラリを編集する必要はありません。 AJAXはすべてフロントエンドの仲間です。結果リストを表示するビューを作成し、リストビューを表示するdivを含む別のビューを作成するだけです。結果コンテナの中で、他のビューを使ってdivにajaxレスポンスをロードすることができます。

0

使用プラグインJquery Pagintation

は、ビューをロードする前にjqueryのを追加します。

//Define model function with limit 
public function modelFunction($limit=0) 
    { 
     $this->db->select("....col_name...."); 
      //.................... 
      //......... 
     $this->db->limit(10,$limit)->order_by('id', 'desc'); 
     return $this->db->get()->result_array(); 

    } 



//Define controller function with limit 
function controllerFunction($limit = 0) 
    { 
     $config['base_url'] = path_to_controllerFunction 
     $config['total_rows'] = call_to_total_count_function; 
     $config['per_page'] = 10; 
     $data["total"] = call_to_total_count_function; 
     $config['use_page_numbers'] = TRUE; 
     $data["per_page"] = 10; 
     $config['full_tag_open'] = "<div class = 'pagination'>"; 
     $config['full_tag_close'] = "</div>"; 
     //$config['additional_param'] = 'serialize_form()'; 
     $config['div'] = '#div_to_load_result'; /* Here #content is the CSS selector for target DIV */ 
     //$config['js_rebind'] = "alert('it works !!'); "; /* if you want to bind extra js code */ 
     $this->load->library('table'); 
     $this->jquery_pagination->initialize($config); 
     $html = $this->jquery_pagination->create_links(); 
     $html .= '<br>'; 
     //$this->table->function = 'htmlspecialchars'; 
     //$this->table->set_heading('Delivery','image','time','delivery','old'); 
     $html .= $this->table->generate($this->modelname->modelFunction($limit)); 

     echo $html; 
    } 


     // first time loading result in controller 
function index() 
    { 
     $config['base_url'] = controllerFunction 
     $config['total_rows'] = total_number_of_result; 
     $config['per_page'] = 10; 
     $data["total"] = total_number_of_result 
     $data["per_page"] = 10; 
     $config['use_page_numbers'] = TRUE; 
     $config['full_tag_open'] = "<div class = 'pagination'>"; 
     $config['full_tag_close'] = "</div>"; 
     //$config['additional_param'] = 'serialize_form()'; 
     $config['div'] = '#div_to_load_result'; /* Here #content is the CSS selector for target DIV */ 
     //$config['js_rebind'] = "alert('it works !!'); "; /* if you want to bind extra js code */ 
     $this->load->library('table'); 
     $this->jquery_pagination->initialize($config); 
     $data['html'] = $this->jquery_pagination->create_links().'<br>'.$this->table->generate($this->modelname->modelFunction()); 

     $this->theme->view(path_of_view, $data); 
    } 
// now in view add following line 
<div id="mygrid"><?php echo $html; ?></div> 
関連する問題