2016-08-11 6 views
7

데이터를 데이터베이스로 업데이트하는 데 문제가 있습니다. 예를 들면 : 내 테이블에 특정 ID에 대해 세 개의 행이 들어 있습니다. 편집하는 동안 ng-repeat를 통해 내용을 표시합니다.Angular js를 사용하여 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 on submit.

+1

아마도 코드를 더 추가해야 할 것입니다. 양식을 사용하고 있습니까? 어떻게 데이터를 서버에 제출하고 있습니까? – pcnate

+0

양식에 있어야하며 제출 작업이 필요하므로 실제로 정보를 저장하려는 경우 데이터베이스에 게시 할 수 있습니다. – HolyMoly

+0

ng-click..then $ http.post (base_url + "purchase/tools/updatePurchaseDetails /"+ purchase_id, {data : $ scope.data, count : $ scope.counter}). – robins

답변

0

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); 
    } 
    } 
}); 
관련 문제