我使用了库数据表和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
亚历
答案 0 :(得分: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)
这样的数字参数。
答案 1 :(得分: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; ?>"} );
}
});
});