I'm working an application based on CodeIgniter. Here the code:
Controller:
public function index(){
$data = array(
'record' => $this->Parameter_model->get_parameter('tbl_parameter')
);
$this->site->view('parameter', $data);
}
Model:
public function get_parameter($table){
$query = $this->db->query(select * from $table order by 'parameter_ID' ASC);
if($query->num_rows() > 0){
foreach($query->result_array() as $row){
$data[] = $row;
}
$query->free_result();
}
else{
$data = NULL;
}
return $data;
}
View:
<table id=parameter class=listdata table table-bordered table-striped table-hover>
<thead>
<tr>
<th class=text-nowrap>Parameter</th>
<th class=text-nowrap>Method</th>
<th class=text-nowrap>Type</th>
<th class=text-nowrap>Action</th>
</tr>
</thead>
<tbody>
<?php if(!empty($record)):?>
<?php foreach($record as $row):?>
<tr align=center>
<td class=text-nowrap><a href=<?=set_url('parameter/parameter_view/'.$row['parameter_ID']);?>><strong><?php echo $row['parameter_name'];?></strong></a></td>
<td class=text-nowrap><?php echo $row['parameter_method'];?></td>
<td class=text-nowrap>
<?php
if($row['parameter_type'] == 1){
echo General;
}
else{
echo COA Only;
}
?>
</td>
<td class=text-nowrap>
<div>
<a href=<?=set_url('parameter#edit?parameter_ID='.$row['parameter_ID']);?> class=btn btn-warning btn-xs>Edit</a>
<a href=<?=set_url('parameter/parameter_view/'.$row['parameter_ID']);?> class=btn btn-success btn-xs>Lihat</a>
<a href=<?=set_url('parameter#hapus?parameter_ID='.$row['parameter_ID']);?> class=btn btn-danger btn-xs>Hapus</a>
</div>
</td>
</tr>
<?php endforeach;?>
<?php endif;?>
</tbody>
<tfoot>
<tr>
<th class=text-nowrap>Parameter</th>
<th class=text-nowrap>Method</th>
<th class=text-nowrap>Type</th>
<th class=text-nowrap>Action</th>
</tr>
</tfoot>
</table>
Javascript:
// parameter
// Setup - add a text input to each footer cell
$('#parameter tfoot th').each( function () {
var title = $(this).text();
$(this).html( '<input type=text style=width:100%; title=Search '+title+' placeholder=Search '+title+' />' );
} );
// DataTable
var table = $('#parameter').DataTable({
paging: true,
searching: true,
ordering: true,
order: [[ 0, asc ]],
scrollX: true,
scroller: true,
});
// Apply the search
table.columns().every( function () {
var that = this;
$( 'input', this.footer() ).on( 'keyup change', function () {
if ( that.search() !== this.value ) {
that
.search( this.value )
.draw();
}
} );
} );
Above code work well.
Now, I want to fetch data into the table id=parameter
via ajax request. I've create an ajax request from url, lets say from here http://'+host+path+'/action/ambil
, where var path = window.location.pathname;
and var host = window.location.hostname;
.
The ajax response produce:
{record:[{parameter_ID:1,parameter_name:pH,parameter_method:(pH meter),parameter_type:1,{parameter_ID:2,parameter_name:Viscosity,parameter_method:(Brookfield-Viscometer),parameter_type:1}]}
Question
How to configure datatable with Ajax data source, and how to display the data into the table, so I can use the data for example to create a link like code
<a href=<?=set_url('parameter/parameter_view/'.$row['parameter_ID']);?>>