0

ライブラリのデータテーブルとコードイグナイターを使用しました

ビューに変数があります

$afd = "1"

そして、このビューにはjavascriptがあります

<script type="text/javascript" charset="utf-8">

$(document).ready(function() {
$('#datatables').dataTable( {
"bJQueryUI":true,

"bProcessing": true,

"bServerSide": true,

"sPaginationType":"full_numbers",

"sAjaxSource": "<?=base_url()?>index.php/report/report/ajax_view_panen/",

"aaSorting": [[ 0, "asc" ]]

});

});  </script>

コントローラ codeigniter でデータテーブルを呼び出します。関数コントローラーは「ajax_view_panen」です

これは私のコントローラーです

function ajax_view_panen()
{
$this->load->library('Datatables');
$this->datatables->from('panen');
$this->datatables->select('id,jml_panen,hariff_blok_id,hariff_afdeling_id,tgl_panen,bulan');
$this->datatables->where('id', $afd);
echo $this->datatables->generate();
}

問題は、変数$afdをコントローラーに送信する方法です。変数はクエリ内に$this->datatables->where('id', $afd);あるため、データテーブルが表示されますid = 1

私の悪い英語でごめんなさい。

ブラジル

アレックス

4

2 に答える 2

1

Serg は正しい 値を GET 変数リストに追加できます。

それ以外の場合は、投稿に追加したい場合:

$(document).ready(function() {
$('#datatables').dataTable( {
"bJQueryUI":true,
"bProcessing": true,
"bServerSide": true,
"sPaginationType":"full_numbers",
"sAjaxSource": "<?=base_url()?>index.php/report/report/ajax_view_panen/",
"aaSorting": [[ 0, "asc" ]],
"fnServerParams": function ( aoData ) {
        aoData.push( { "afd": "<? php echo $afd; ?>"} );
 }

});

}); 
于 2012-11-07T14:02:17.753 に答える
1

最も簡単な方法は、CI 関数パラメーターを送信することです

function ajax_view_panen($afd)
{
  ...
  $this->datatables->where('id', $afd);
  echo $this->datatables->generate();
}

したがって、この変数をビューに渡し、正しい URL を呼び出す必要があります。

<script type="text/javascript" charset="utf-8">
...
"sAjaxSource": "<?=base_url()?>index.php/report/report/ajax_view_panen/<?=$afd?>",
...
</script>

セキュリティを確保するために、入力をサニタイズする必要がある場合があることに注意してください。

$afd = intval($afd)それが数値パラメータの場合のようなものです。

于 2012-11-07T13:49:05.900 に答える