我希望在将它发送到php代码之后得到行id,但我使用datatables jquery插件,但是我将我的id显示到datables,但是datatables正在生成td而不是输入。如果它是很容易在PHP中读取它,但我怎么能在php中读取我的datable的行ID ...我尝试了$ _POST,但我不能因为我在tds上没有任何名字。使用codeigniter的其他东西。一旦我可以读取我的id行,我可以将其用于id = id的地方来更新我的项目。
表
CREATE TRIGGER check_one_concert_per_day
BEFORE INSERT
ON performance
FOR EACH ROW EXECUTE PROCEDURE p.check_only_one_concert_per_day();
模型
var table = $('#example').DataTable({
"lengthChange": false,
responsive: true,
dom: 'Blfrtip',
buttons: [{
extend: 'excelHtml5',
exportOptions:{
columns: [1,2,3,4,5,6]
}
},{
extend: 'csvHtml5',
exportOptions:{
columns: [1,2,3,4,5,6]
}
},{
extend: 'pdf',
exportOptions: {
columns: [1,2,3,4,5,6]
}
}],
ajax: {
url: URL_GET_DATATABLE,
type: 'POST',
},
columnDefs:[{
targets: -1,
data: null,
defaultContent: "<a href='#'><span class='glyphicon glyphicon-pencil'></span></a>"
},{
targets: 6,
render: function (data) {
return (data == 1) ? "<span class='label label-success'>active</span>":"<span class='label label-danger'>inactive</span>";
}
}],
fnRowCallback: function (data,nRow) {
if (nRow[6] == 0) {
$(data).css({'background-color':'#f2dede'});
}else if(nRow[6] == 1){
$(data).css({'background-color':'#dff0d8'});
}else{
}
}
});
控制器
public function datatable(){
$this->db->select('id,descripcion,precio_compra,precio_venta,precio_mayoreo,existencia_minima,existencia,storelte_articulos.status');
$this->db->from('storelte_articulos');
$query = $this->db->get();
return $query->result_array();
}
更新控制器
public function datatable(){
$array = $this->products->datatable();
$this->json($array);
$data = array();
foreach ($array as $rows){
array_push($data, array(
$rows['id'],
$rows['descripcion'],
$rows['precio_compra'],
$rows['precio_venta'],
$rows['precio_mayoreo'],
$rows['existencia'],
$rows['status']
));
}
$this->json(array('data' => $data));
}
答案 0 :(得分:0)
您需要将您的ID放入输入中,但将其设置为隐藏。这样,数据就不会显示给最终用户,但可以通过帖子数据获得。
由于可以通过开发人员工具/检查看到它,我建议对其进行编码以进行显示,然后将其解码以用于数据库查询。