我正在尝试使用angularjs和php从表中删除多行, 我面临的问题是我每次只能删除一行!
这是我的桌子:
<div class="table-responsive" style="overflow-x: unset;">
<button class="btn btn-danger" ng-click="deleteBulk()" >Delete</button>
<table datatable="ng" dt-options="vm.dtOptions" class="table table-bordered table-striped" >
<thead>
<tr>
<th ><input type="checkbox" ng-model="master" > select</th>
<th>date</th>
<th>first name</th>
<th>last name</th>
<th>age</th>
<th>action</th>
<th>action</th>
<th>action</th>
</tr>
</thead>
<tbody>
<tr id="<?php echo $row["id"]; ?>" ng-repeat="name in namesData">
<td name="checkbox">
<input type="checkbox" name="arrExample"
ng-model="arrInput" ng-true-value="{{name.id}}"
ng-checked="master"
ng-click='pushInArray(name.id)'>
</td>
<td>{{name.date}}</td>
<td>{{name.first_name}}</td>
<td>{{name.last_name}}</td>
<td>{{name.age}}</td>
<td><button type="button" ng-click="fetchSingleData(name.id)"
class="btn btn-warning btn-xs">edit</button></td>
<td><button type="button" ng-click="deleteData(name.id)"
class="btn btn-danger btn-xs">delete</button></td>
<td><button type="button" ng-click="single_move(name.id)"
class="btn btn-success btn-xs">send</button></td>
</tr>
</tbody>
</table>
这是我的Angular代码:
$scope.exampleArray = [];
$scope.pushInArray = function(id) {
// get the input value
var inputVal = id;
var array = $scope.exampleArray.push(inputVal);
$scope.deleteBulk = function(){
if(confirm("Are you sure you want to delete this record?")){
$http({
method:"POST",
url:"insert.php",
data:{'id':id, 'action' : 'deleteBulk'}
}).success(function(data){
$scope.success = true;
$scope.error = false;
$scope.successMessage = data.message;
$scope.fetchData();
});
}
};
};
这是我在insert.php中的php代码
if($form_data->action == "deleteBulk")
{
$query = "
DELETE FROM orders WHERE id='".$form_data->id."'
";
$statement = $connect->prepare($query);
if($statement->execute())
{
$output['message'] = 'done!';
}
}
有人可以告诉我如何解决吗?
谢谢
答案 0 :(得分:0)
不要在另一个作用域函数内定义作用域函数:
错误
$scope.exampleArray = []; $scope.pushInArray = function(id) { // get the input value var inputVal = id; var array = $scope.exampleArray.push(inputVal); $scope.deleteBulk = function(){ if(confirm("Are you sure you want to delete this record?")){ $http({ method:"POST", url:"insert.php", data:{'id':id, 'action' : 'deleteBulk'} }).success(function(data){ $scope.success = true; $scope.error = false; $scope.successMessage = data.message; $scope.fetchData(); }); } }; };
更好
$scope.exampleArray = [];
$scope.pushInArray = function(id) {
// get the input value
var inputVal = id;
$scope.exampleArray.push(inputVal);
};
$scope.deleteBulk = function(){
if(confirm("Are you sure you want to delete this record?")){
$http({
method:"POST",
url:"insert.php",
data:{'id':id, 'action' : 'deleteBulk'}
}).then(function(response){
var data = response.data;
$scope.success = true;
$scope.error = false;
$scope.successMessage = data.message;
$scope.fetchData();
});
}
};