使用 jquery 将变量传递给 Php 以进行 MySQL 删除


pass variable with jquery to Php for MySQL deletion

我正在尝试通过单击图标从数据库中删除一行。简单地说,它不起作用,我不知道为什么。阅读此处的许多相关问题以及网络上的一些教程。对 php 和 ajax 来说还是新手,所以如果有的话,请原谅菜鸟错误。谢谢你,干杯。

Jquery

$('.delete').click(function(){
  // get resource id to use for deleting
  var del_id = $(this).attr('data-resource-id');
  // get parent 
  var parent = $(this).parent().parent();
  var transitionEnd = 'transitionend webkitTransitionEnd oTransitionEnd otransitionend';
  
  $.post('includes/delete-resource.php', {id:del_id},function(data){
      // animation out 
      parent.addClass('remove-resource').one(transitionEnd, function(){
      parent.remove();
    }); // end addClass
  }); // end post
}); // end function

PHP - 删除资源.php

require_once('config.php');
//connect to $db
require_once('database.php');
// Fetch posted id sent from click
$resource_id = $_POST['id'];
$safe_id = filter_var($resource_id,FILTER_SANITIZE_INT);
  try {
      // prepare Statement
    $remove = $db->prepare(
      "DELETE FROM resources
       WHERE resource_id = :safe_id");
        // Bind 
    $remove->bindParam(':safe_id', $safe_id);
        // run query
    $remove->execute();
  } catch (Exception $e) {
    echo "Data could not be removed";
    exit;
  }
  if($remove -> rowCount()){
    echo 'success';
  } else {
    echo 'fail';
  } 

如果.delete元素是超链接,您可能希望在event.preventDefault()的帮助下停止其默认行为

$('.delete').click(function(e){
  e.preventDefault();
  // get resource id to use for deleting
  // ...