2016-10-09 9 views
0

SOに関するいくつかのチュートリアルとajax/dataTablesに関するドキュメントをいくつかお答えしました。私のdataTableはまだJSONデータを入力しません。CodeigniterとAjaxでdataTableを取り込めません

HTML:

<table id="table" class="table table-striped table-bordered table-hover" cellspacing="0" width="100%"> 
     <thead> 
      <tr> 
       <th>Status</th> 
       <th>Student Name</th> 
       <th>Exam Name</th> 
       <th>School</th> 
       <th colspan="2">Action</th> 
      </tr> 
     </thead> 

     <tfoot> 
      <th>Status</th> 
      <th>Student Name</th> 
      <th>Exam Name</th> 
      <th>School</th> 
      <th colspan="2">Action</th> 
     </tfoot> 
</table> 

Javascriptを:試験コントローラで

<script type="text/javascript"> 

    $(document).ready(function() { 

     // Datatables 
     $('#table').DataTable({ 
      "url": "<?php echo site_url('exams/ajax_list'); ?>", 
     }); 

    }); 

</script> 

ajax_list PHP関数:

public function ajax_list() { 
    $list = $this->exam_model->get_datatables(); 
    $data = array(); 
    foreach ($list as $exam) { 
     $row = array(); 
     $row[] = $exam->exam_status; 
     $row[] = $exam->first_name . " " . $exam->last_name; 
     $row[] = $exam->exam_name; 
     $row[] = $exam->exam_school; 

     $data[] = $row; 
    } 

    echo json_encode($data); 
} 

方法をナビゲートするときに、私が見ることができるものから、json_encode出力正しくは、dataTableはまだ空です。

何か不足していますか?

+0

ajax_listのパスをダブルチェックしましたか? – David

答えて

1

私はついにそれを働かせました...私にこのすべての新しいブランドとしてこれと遊ぶチャンスを与えてくれてありがとう。それは少しばかりだったけど、他のすべてのものと同じようにシンプルであることが分かった。

私はこの思い付いた文書を通じてdrudging後CIでこれを設定するが、その文句を言わないの問題...

なかった

...

1.Changeあなたの「URL」へ"ajax" あなたのパスが正しいと思います。私はあなたのものを変えます。

<script type="text/javascript"> 
    $(document).ready(function() { 
     // Datatables 
     $('#table').DataTable({ 
      "ajax": "./ajax_list.php" // change this to suit. 

     }); 
    }); 
</script> 

2.

は、あなたの目のタグにはcolspan = "2" を削除します。

3.

そして最後には、あなたのjson_encodeへの変更 あなたは私がに見ていない他のいくつかのオプションを使用しない限り、それはそれを好きではない... ...

echo json_encode(['data'=>$data]); 

そして、できればそのあなたを動かす...ドキュメンテーションはかなり良いので、私はそれを良いものにすることを提案する。

+0

私はあなたを愛しています@TimBrownLaw。これら3つのことすべてをやっていました。私はドキュメントを十分に徹底的に読んでいないと思う。テーブルには現在データが格納されています! –

+0

@TimothyFisherあなたは十分にありがとうとありがとう、ありがとうございますが、私はあなたのために今起こっていることがうれしいです。乾杯! – TimBrownlaw

+0

あなたのthタグでcolspan = "2"を失ってください。 @TimBrownlaw –

関連する問題