2016-08-11 9 views
7

データをデータベースに更新する際に問題があります。たとえば:私のテーブルでは、特定のIDの3つの行が含まれています。編集中は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); 
    } 
    } 
}); 
関連する問題