Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过id使用ajax删除记录_Php_Jquery_Ajax - Fatal编程技术网

Php 通过id使用ajax删除记录

Php 通过id使用ajax删除记录,php,jquery,ajax,Php,Jquery,Ajax,使用ajax/jquery从mysql数据库删除记录时遇到问题。我遇到的问题是,它不会从数据库中删除,而是从列表中删除。我做错了什么 这是我的密码: jQuery(document).ready(function(){ $(".deleteitem").click(function(){ var parent = $(this).closest('li'); var id = parent.attr('id'); $.ajax({ type: "POS

使用ajax/jquery从mysql数据库删除记录时遇到问题。我遇到的问题是,它不会从数据库中删除,而是从列表中删除。我做错了什么

这是我的密码:

jQuery(document).ready(function(){
  $(".deleteitem").click(function(){

    var parent = $(this).closest('li');
    var id = parent.attr('id');

    $.ajax({
      type: "POST",
      data: "id=" +id,
      URL: "delete.php",
      success: function(msg){
        $('#'+id).remove();
      }
    });
  });
});
我的php文件delete.php:

$con=mysqli_connect("localhost","user","pass","db");
// Check connection
if (mysqli_connect_errno())
{ echo "Failed to connect to MySQL: " . mysqli_connect_error(); }

$id = $_POST['id'];

if (isset($id)) {
  $query = "DELETE FROM img_slider WHERE id = '$id'";
  mysqli_query($query) or die('Error, insert query failed');
}
HTML标记:

<li id='".$row['id']."'>
<a href='#' class='deleteitem'><img src='../img/delete.png'></a>
</li>

  • 首先测试以确保使用有效id调用删除文件有效。下面的javascript应该可以正常工作

    <script type="text/javascript">
    <!--
    $(function() {
      $('.deleteitem').click(function(e) {
        e.preventDefault();
        var id = $(this).parent('li').attr('id');
        $.get('delete.php',{ id: id}).done(function(data) {
          if(data=='Error, insert query failed') {
              // dont delete from list
              alert('Failed to delete '+id);
          } else {
              //delete from list
              $('#'+id).remove();
              alert('Deleted '+id);
          }
        });
      });
    });
    //-->
    </script>
    
    
    
    编辑:更新脚本以帮助处理父id

    你能说出错误的来源吗?大多数现代浏览器都应该让您了解错误发生在哪一行或哪一部分


    上面的脚本应该替换所有的javascript。

    数据格式是
    data:{“id”:id}
    这是所有的PHP代码吗?您在哪里连接到数据库?您应该看到delete.php的功能。您可以使用$\u REQUEST代替$\u POST并调用delete.php?id=。。。看看会发生什么。如果有效,则返回$\u POST并在中调试参数ajax@karthikr不走运。可能是连接失败,因为你没有回应“连接失败”。ajax会将其视为一个成功的响应,不管删除与否……也许只有在删除成功的情况下,您才应该回显某些内容……为了进一步调试问题,我在上面的javascript中遇到了一个错误。Delete.php处于工作状态。编辑Delete.php有助于处理basix语法错误,并帮助您了解发生了什么错误。错误似乎位于:
    alert('deleted+'id)-非常感谢您在这里的时间。修复了这个问题,concatonater(“+”字符)在引号内而不是在引号外