2016-09-27 22 views
0

を新しくロードします。私はちょうどそれがページングを持つテーブル内のデータベースからデータをフェッチするためにajaxを適用することが可能ですか?私は2ページ目をクリックしたときに、ページ全体を読み込まずにテーブルだけを読み込むことを意味します。Codeigniter AjaxはCodeIgniterのテーブル

+0

はい可能です。 –

+0

@u_mulderに返信いただきありがとうございます。私はそのような種類の機能を検索する必要がありますか? –

答えて

1

これはかなり可能です。私はあなたにいくつかの骨格を与え、覗いてみましょう。もちろん、多くの方法があります。

JSファイル:

//click pagination 
$('body').on('click', '.codeigniter-pagination a', function(e){ 
    e.preventDefault(); 
    $('.loading').html('<i class="fa fa-spinner"></i> '); 
    $.ajax(
     { 
      url: this.href, 
     dataType: "html", 
     success: function(data) { 
      $('.mediamanager__grid').html(data); 
      $('.loading').empty(); 
     }, 
     error: function(e) 
    { 
     alert('Error: ' + e); 
    } 
     }); 

}); 

例コントローラ機能:

public function index(
    $page_number=1, $order_by='id', $how='desc', $limit= 10 
) { 

    //pagination 
    $config['total_rows'] = $this->picture_model->count_all(); 
    $config['per_page'] = $limit; 
    $config['uri_segment'] = 4; 
    $config['use_page_numbers']=true; 
    $config['base_url'] = '/admin/mediamanager/index'; 
    $offset = (
     $this->uri->segment($config['uri_segment']) - 1 
    ) * $config['per_page']; 
    $offset < 0 ? $offset = 0 : ''; 
    $this->pagination->initialize($config); 

    $data['pictures']=$this->picture_model 
     ->limit($limit, $offset) 
     ->order_by($order_by, $how) 
     ->get_all(); 
    $this->load->view('admin/mediamanager/index', $data); 
} 

それだけで生成されたHTMLでいくつかのdivを置き換え、および改ページは、その生成されたビューでもあります。もちろん、バグがあるかもしれません。それが4番目か5番目のセグメントかどうかはわかりません。私はcodeigniterベースモデル、拡張モデルライブラリを使用しています。