Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组中的Codeigniter MySQL数据_Mysql_Codeigniter_Datatable - Fatal编程技术网

数组中的Codeigniter MySQL数据

数组中的Codeigniter MySQL数据,mysql,codeigniter,datatable,Mysql,Codeigniter,Datatable,我在模型中有一个查询,如下所示: public function isExistProduct($q) { if (!empty($q)) { $this->db->select("store_item.item_name, store_update_stock.*, sum(qty) as qty, unit_price as up"); $this->db->from('s

我在模型中有一个查询,如下所示:

public function isExistProduct($q)
    {
        if (!empty($q)) {           

            $this->db->select("store_item.item_name, store_update_stock.*, sum(qty) as qty, unit_price as up");
            $this->db->from('store_update_stock_details');
            $this->db->join('store_update_stock', 'store_update_stock_details.update_stock_id=store_update_stock.update_stock_id');
            $this->db->join('store_item', 'store_update_stock_details.item=store_item.item_id');            
            $this->db->where("store_update_stock.status=1 and store_item.item_id= $q");
            $this->db->group_by('store_update_stock_details.unit_price','store_item.item_id');

            $q1 = $this->db->get();

            if ($q1->num_rows() > 0) {
                return $q1->result_array();
            }
            return 0;
        }
    }
当我设置store_item.item_id=1时,它返回两条记录,在同一个项目中具有不同的单价,如下所示(假设item_name=A)

这是我想要的输出。这是正确的。然后我将这两条记录传递给控制器中的以下函数

public function isExistProduct()
    {    
        $id = $this->input->get('q');
        $data = $this->Item_model->isExistProduct($id);
        if (!empty($data)) {
            echo json_encode(array('status' => true, 'data' => $data));
        } else {
            echo json_encode(array('status' => false));
        }
    }
之后,我希望通过以下JavaScript在我的视图中显示这个结果

script type="text/javascript">

    $(document).on("change", "#item", function () {

        $.ajax({
            'url': '<?=site_url("item/isExistProduct/?q=")?>' + $('#item').val(),
            'method': 'GET',
            'success': function (data) {


                var jData = JSON.parse(data);
                if (jData.status == true) {

                jData.data.forEach(data => {
                    $('#request_table').append('<tr>' +
                        '<td ><span id="product" >' + jData.data[0].item_name + '</span>' +
                        '<input type="hidden" id="item_id[]" name="item_id[]" value="' + jData.data[0].item_id + '">' +
                        '</td>' +                       
                        '<td class="text-center">' + jData.data[0].qty + '</td>' +                      
                        '<td class="text-center"><input class="form-control text-right"  disabled id="sales_price[]" name="sales_price[]" value="' + jData.data[0].up+ '"></td>' +
                        '<td class="text-center"><input class="form-control text-center rquantity" data-qty-bal="' + jData.data[0].qty + '" autofocus required type="number" step="any" id="qty[]" name="qty[]" ></td>' +   
                        '<td class="text-center" ><i class="fa fa-remove remove" style="cursor: pointer"></i></td>' +
                        '</tr>');
                    })
                }

            },
            'error': function () {

            }
        });


    });
</script>
可能出了什么问题?有人能帮我吗

设置以数据为参数的函数后,将显示以下结果。

在forEach循环中,您应该只使用
数据。不需要引用数组。
这一行:

jData.data.forEach(data => {
设置以数据为参数的函数

所以这些线:

$('#request_table').append('<tr>' +
                    '<td ><span id="product" >' + jData.data[0].item_name + '</span>' +
                    '<input type="hidden" id="item_id[]" name="item_id[]" value="' + jData.data[0].item_id + '">' +
                    '</td>' +                       
                    '<td class="text-center">' + jData.data[0].qty + '</td>' +                      
                    '<td class="text-center"><input class="form-control text-right"  disabled id="sales_price[]" name="sales_price[]" value="' + jData.data[0].up+ '"></td>' +
                    '<td class="text-center"><input class="form-control text-center rquantity" data-qty-bal="' + jData.data[0].qty + '" autofocus required type="number" step="any" id="qty[]" name="qty[]" ></td>' +   
                    '<td class="text-center" ><i class="fa fa-remove remove" style="cursor: pointer"></i></td>' +
                    '</tr>');
                })
$('request#u table')。追加('+
''+jData.data[0].项目名称+''+
'' +
'' +                       
''+jData.data[0].数量+''
'' +
'' +   
'' +
'');
})
成为:

$('#request_table').append('<tr>' +
                    '<td ><span id="product" >' + data.item_name + '</span>' +
                    '<input type="hidden" id="item_id[]" name="item_id[]" value="' + data.item_id + '">' +
                    '</td>' +                       
                    '<td class="text-center">' + data.qty + '</td>' +                      
                    '<td class="text-center"><input class="form-control text-right"  disabled id="sales_price[]" name="sales_price[]" value="' + data.up + '"></td>' +
                    '<td class="text-center"><input class="form-control text-center rquantity" data-qty-bal="' + data.qty + '" autofocus required type="number" step="any" id="qty[]" name="qty[]" ></td>' +   
                    '<td class="text-center" ><i class="fa fa-remove remove" style="cursor: pointer"></i></td>' +
                    '</tr>');
                })
$('request#u table')。追加('+
''+data.item_name+''+
'' +
'' +                       
''+数据量+''+
'' +
'' +   
'' +
'');
})

@NorthernDev。按照您的建议设置一个以数据作为参数的函数后,未定义的结果将显示在edit@NorthernDev中的第三幅图像中。不,对不起。在应用了你的建议后工作得很好
$('#request_table').append('<tr>' +
                    '<td ><span id="product" >' + jData.data[0].item_name + '</span>' +
                    '<input type="hidden" id="item_id[]" name="item_id[]" value="' + jData.data[0].item_id + '">' +
                    '</td>' +                       
                    '<td class="text-center">' + jData.data[0].qty + '</td>' +                      
                    '<td class="text-center"><input class="form-control text-right"  disabled id="sales_price[]" name="sales_price[]" value="' + jData.data[0].up+ '"></td>' +
                    '<td class="text-center"><input class="form-control text-center rquantity" data-qty-bal="' + jData.data[0].qty + '" autofocus required type="number" step="any" id="qty[]" name="qty[]" ></td>' +   
                    '<td class="text-center" ><i class="fa fa-remove remove" style="cursor: pointer"></i></td>' +
                    '</tr>');
                })
$('#request_table').append('<tr>' +
                    '<td ><span id="product" >' + data.item_name + '</span>' +
                    '<input type="hidden" id="item_id[]" name="item_id[]" value="' + data.item_id + '">' +
                    '</td>' +                       
                    '<td class="text-center">' + data.qty + '</td>' +                      
                    '<td class="text-center"><input class="form-control text-right"  disabled id="sales_price[]" name="sales_price[]" value="' + data.up + '"></td>' +
                    '<td class="text-center"><input class="form-control text-center rquantity" data-qty-bal="' + data.qty + '" autofocus required type="number" step="any" id="qty[]" name="qty[]" ></td>' +   
                    '<td class="text-center" ><i class="fa fa-remove remove" style="cursor: pointer"></i></td>' +
                    '</tr>');
                })