0

我使用了库数据表和 codeigniter

我有一个变量

$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

对不起我的英语不好。

BR

亚历克斯

4

2 回答 2

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 回答
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 回答