我在将数据更新到数据库时遇到问题.例如:在我的表中包含特定id的三行.因此,编辑时通过ng-repeat显示内容.
视图
<tr class="odd gradeX" ng-repeat="d in data"> <td> <input type="text" name="tools" class="form-control" ng-model="d.po_tools" placeholder="Tools"> </td> <td> <input type="text" name="qnty" class="form-control" ng-model="d.po_quantity" placeholder="Quantity"> </td> </tr>
CI控制器
public function updatePurchaseDetails() { $po_id = $this->uri->segment(4); $data = file_get_contents('PHP://input'); $this->model->update_purchase_data($data,$data['count']); }
模型
public function update_purchase_data($data,$count) { $count=$count+1; for($i=0;$i<$count;$i++) { $data_array = array( 'po_id' => $id,'po_tools' => $data['data']['po_tools'],'po_quantity' =>$data['data']['po_quantity'] ); $this->db->update('purchase_order_tool',$data_array); $this->db->where('po_id',$purchase_id); } }
如何在提交时将编辑的数据更新为db.
解决方法
HTML:
<td> <input type="text" name="tools" class="form-control" ng-model="d.po_tools" ng-keyup="submit('tools');" value="{{d.po_tools}}" placeholder="Tools"></td> <td> <input type="text" name="qnty" class="form-control" ng-model="d.po_quantity" ng-keyup="submit('quantity');" value="{{d.po_quantity}}" placeholder="Quantity"> </td>
JS控制器文件:
angular.module('appname').controller('myCtrl',function($scope,Service){ if(!$scope.d) $scope.d = {}; $scope.submit = function (type){ var obj = { data : $scope.d,type : type } service.send(obj).then(function(success){ console.log(success); },function(err){ console.log(err); }).finally(function(){ console.log('finish'); }); } });
JS服务文件:
angular.module('appname').factory('Service',$http,function(){ return { send : function(obj){ var params = $.param(obj); var options = { url : 'http://example.com/upload.PHP',method: 'POST',data : params,headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' } }; return $http(options); } } });