2016-04-20 4 views
3

Hier ist mein Tabellencode:ich bin nicht in der Lage, die Aufzeichnung mit Update-Funktion in die Datenbank mit PHP zu aktualisieren und AngularJS

<tbody> 
     <tr ng-repeat="tabdata in tabledata"> 
       <td> 
        <div ng-hide="editdata[tabdata.id]">{{tabdata.name}}</div> 
        <div ng-show="editdata[tabdata.id]"><input type="text" ng-model="tabdata.name"></div> 
       </td> 
       <td> 
        <div ng-hide="editdata[tabdata.id]">{{tabdata.city}}</div> 
        <div ng-show="editdata[tabdata.id]"><input type="text" ng-model="tabdata.city"></div> 
       </td> 
       <td> 
        <button ng-hide="editdata[tabdata.id]" ng-click="edit(tabdata)">EDIT</button> 
        <button ng-show="editdata[tabdata.id]" ng-click="update(tabdata)">UPDATE</button> 
       </td> 
      </tr> 
      </tbody> 

Hier ist mein Code:

var app=angular.module('myApp',[]); 
app.controller('myCtrl',['$scope','$http',function($scope,$http){ 

Hier bekomme ich das Daten aus Datenbanktabelle:

$http.get('fetch.php').success(function(data) { 
     $scope.tabledata = data; 
    }); 


    $scope.editdata={}; 

Diese Funktion ist für bearbeiten-Button:

$scope.edit=function(tabdata){ 
     $scope.editdata[tabdata.id]=true; 
    }; 

Dies ist für Update-Button:

$scope.update=function(tabdata) { 

     $scope.editdata[tabdata.id] = false; 

Hier habe ich Ajax-Methode aufrufen, um die Werte in die Datenbank zu aktualisieren. Oder können wir Service-Funktion auch verwenden?

und ich hatte ORM-Datei für die Konnektivität von Datenbank mit $ input in meiner fetch.php Datei ..

 $http({ 
      method:"post", 
      url:'fatch.php', 
      data:{ 

      } 
     }) 
    }; 
}]); 

Das Problem ist, dass, wenn verwenden i-Taste auf Bearbeiten klicken, wird es geändert erhalten, aber danach Wenn ich einige Zeilendaten bearbeite, werden nur die Daten auf der statischen Seite aktualisiert. Und ich muss auch meine Datenbanktabelle aktualisieren. So wie es geht?

Ich muss meine Datenbanktabelle mit SERVICE-Funktion und AJAX-Aufruf-Methode aktualisieren. Irgendeine Idee, wie es auch geht?

Antwort

0

Hier ist eine Lösung für Ihren Fall:

$scope.update=function(tabdata) { 

    $scope.editdata[tabdata.id] = false; 
    $http({ 
     method:"post", 
     url:'fetch.php', 
     data:{ 
       // your data to send 
     } 
    }).then(function(success){ 
     // refresh live your tabledata angularjs will do the job for you 
     $http.get('fetch.php').success(function(data) { 
      $scope.tabledata = data; 
     }); 
    }) 
} 

Sie müssen in Ihrem Fall nicht Ajax-Aufruf.

+0

Ich erhalte einen Fehler wie: POST-404 (nicht gefunden) – durgesh

+0

oops Ich ließ "fatch.php" und Ihre wo sagen, dass es "fetch.php" war;) –

+0

so, was jetzt zu tun sir..when Ich klicke auf Update-Taste, es wird upadated. aber ich muss meine Datenbanktabelle auch aktualisieren ... wie geht das? – durgesh

Verwandte Themen