如何从php / codeigniter中的datatables jquery读取我的id行?

时间:2017-02-04 22:53:02

标签: php ajax codeigniter datatables

我希望在将它发送到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));
    }

1 个答案:

答案 0 :(得分:0)

您需要将您的ID放入输入中,但将其设置为隐藏。这样,数据就不会显示给最终用户,但可以通过帖子数据获得。

由于可以通过开发人员工具/检查看到它,我建议对其进行编码以进行显示,然后将其解码以用于数据库查询。