【问题标题】:How to delete record from MySQL database using PHP and AngularJS?如何使用 PHP 和 AngularJS 从 MySQL 数据库中删除记录?
【发布时间】:2016-03-08 18:38:58
【问题描述】:

我正在做一个博客项目,我正在使用 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 请求没有正文内容...使用$id 但您确实需要对其进行验证或提出严重问题。更不用说 mysql 扩展已被弃用
  • 我确实使用了 mysqli,这只是一个错字,但我仍然无法让它工作。

标签: php mysql angularjs mysqli delete-row


【解决方案1】:

我不认为 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);
  }
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 2018-04-02
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多