如何使用带有角度js的PHP删除多行表

时间:2017-06-13 08:48:08

标签: javascript php angularjs

现在这是我的HTML代码

                        <tr  ng-repeat="x in details| filter:maincode">
                        <td>{{x.maincode}}</td>
                        <td>{{x.subcode}}</td>
                        <td>{{x.trandate}}</td>


                        <button class="btn btn-primary" ng-click="deleteInfo(maincode)">
                        <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>Delete Data  </button>

当我点击删除按钮时,所选数据中的所有数据都不会被删除,这是我的控制器js代码

                        $scope.deleteInfo = function(info){


                             var x = confirm("Are you sure to delete the selected data");
                            if(x){
                                                $http.post('databases/dele_setlemnt_data.php', {"maincode":info.maincode}).success(function(data){
                                                    if (data == true) {
                                                     alert("Data has been deleted Successfully");   
                                                    getInfo();
                                                    }


                                                });
                        }   
                        }

点击删除按钮后,我看到控制台数据没有发布,而且没有采取php页面,这是我的php页面代码

          <?php             
            $data = json_decode(file_get_contents("php://input"));

            $maincode= mysqli_real_escape_string($con, $data->maincode);
            $query = "select * FROM trd_settle WHERE maincode= '{$maincode}' ";
                      echo $query;
            mysqli_query($con, $query);
            echo true;

我想从所选主码中删除一个删除按钮中的所有数据。请告诉我现在的错误是什么

3 个答案:

答案 0 :(得分:0)

更改

ng-click="deleteInfo(maincode)"

ng-click="deleteInfo(x)"

答案 1 :(得分:0)

<button class="btn btn-primary" ng-click="deleteInfo(maincode)">

按如下方式更改此行

<button class="btn btn-primary" ng-click="deleteInfo(x)">

&#39; maincode&#39;是列名,你不应该传递它。

这里是逐行删除

如果要删除选定的主代码行。

$scope.selectedIds = [];
$scope.deleteInfo = function () {
  angular.forEach(values, function(value) {
    if(value.maincode) {
      $scope.selectedIds(value.id);
    }
  }
}

您发送到API图层ID并基于该删除数据库行。

答案 2 :(得分:0)

嗨检查一下,了解差异

&#13;
&#13;
var app = angular.module('app', []);

app.controller('mainCtrl', function($scope) {
 
 $scope.details =[];
 $scope.details.push({id:1,maincode:"maincode 1",subcode:"subcode 1"});
 $scope.details.push({id:2,maincode:"maincode 2",subcode:"subcode 2"});
 $scope.details.push({id:3,maincode:"maincode 3",subcode:"subcode 3"});
 $scope.details.push({id:4,maincode:"maincode 4",subcode:"subcode 4"});
 $scope.details.push({id:5,maincode:"maincode 5",subcode:"subcode 5"});
 $scope.details.push({id:6,maincode:"maincode 6",subcode:"subcode 6"});
 
$scope.deleteInfo = function(maincode,info,idx){
console.log("maincode",maincode);

//get obj data
console.log("info",info);

//show the index of list
console.log("index",idx);

//remove from list
$scope.details.splice(idx, 1);


};
 
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div  ng-controller="mainCtrl">
<table>
<tr  ng-repeat="x in details">
<td>{{$index}}</td>
<td>{{x.maincode}}</td>
<td>{{x.subcode}}</td>
<td> <button class="btn btn-primary" ng-click="deleteInfo(x.maincode,x,$index)">Delete</td>

</tr>
<table>

</div>
</div>
&#13;
&#13;
&#13;