我正在开发一个博客项目,并且正在使用PHP从MysqL数据库中获取数据并将其保存到JSON文件中,然后使用AngularJS输出数据.我知道这可能不是最有效的方法,但是angular有一些优点.在我的管理控制台中,我在表格中显示了帖子以及每个帖子记录的删除按钮.我遇到的问题是尝试获取帖子的ID并从数据库中删除记录.如果有人可以帮忙?我将非常感谢!
这是我的一些代码:
的HTML
<tbody ng-repeat="post in posts">
<tr>
<td>{{post.id}}</td>
<td>{{post.date}}</td>
<td><img src="../{{post.image}}" width="100px" height="70px"></td>
<td>{{post.title}}</td>
<td>{{post.description | limitTo:250}} .....</td>
<td>{{post.category}}</td>
<td>{{post.author}}</td>
<td>{{post.status}}</td>
<td><a ng-click="display()" class="btn btn-primary"><i class="fa fa-pencil-square-o"></i></a></td>
<td><a ng-click="delete(post.id, $index)" class="btn btn-danger"><i class="fa fa-close"></i></a></td>
</tr>
</tbody>
AngularJS
.controller('PostsCtrl', ['$scope', '$http', function($scope, $http, $timeout) {
$http.get('../data/posts.json').success(function(data) {
$scope.posts = data;
});
$scope.delete = function(deletingId, index) {
$http.get("functions/deletePost.PHP?id=" + deletingId)
.success(function(data) {
$scope.data.splice(index, 1);
})
}
}])
的PHP
<?PHP
$connect = MysqLi_connect('localhost', 'root', '', 'cms1');
if (isset($_GET ['id'])){
$id = $_GET ['id'];
$data = json_decode(file_get_contents("PHP://input"));
$index = $data['id'];
$delete = "DELETE FROM posts WHERE id='$index'";
$result = MysqL_query($connect,$delete);
}
?>
解决方法:
我不认为GET可以达到预期的效果.尝试使用以下代码发送请求.
AngularJS
$scope.delete = function(deletingId, index) {
var params = $.param({"id":deletingId});
$http({
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
url: 'functions/deletePost.PHP',
method: "GET",
data: params
}).success(function(data){
$scope.data.splice(index, 1);
});
}
的PHP
<?PHP
$connect = MysqLi_connect('localhost', 'root', '', 'cms1');
if(isset($_GET['id'])){
$id = $_GET['id'];
$del = "DELETE FROM posts WHERE id='".$id."'";
MysqL_query($connect, $del);
}
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。