ajax中的删除功能不起作用

时间:2016-12-18 13:36:54

标签: php mysql ajax

我正在尝试使用Ajax从mysql中删除一行而不刷新,但脚本不起作用。

// ============ delete.php ===========
if(isset($_GET['delete_id'])) {
    $id = $_GET['delete_id'];
    $dquery = "SELECT url FROM test1 WHERE id='$id'";

    foreach($db->query($dquery) as $deleterow){
        deleteDirectory("test1/" . $deleterow['url']);
    }

    $result = $db->query("DELETE FROM test1 WHERE id ='$id'");
}

// ============ manage.php ===============
    while($row = $q->fetch(PDO::FETCH_ASSOC)){
      $id1 = $row["id"];
       echo '
        <tr>

            <td>'.$row["name"].'</td>
            <td>'.$row['subscribers'].'</td>
            <td><a href="#"></a></td>
      <td><input type="submit" class="delete" id="'.$id1.'" value="Delete"></td>
        </tr>
        ';
    }

<script type="text/javascript" >
$(document).ready(function(){
 $(".delete").click(function(){
   var del_id = $(this).attr('id');
   $.ajax({
      type:'POST',
      url:'delete.php',
      data:'delete_id='+del_id,
      success:function(data) {
        if(data) {   alert(del_id);
          $("body").load("manage.php");
        } else { alert("Error"); }
      }
   });
 });
});
 </script>

我还尝试将manage.php包含到delete.php并使用$ id1,并且工作,但是他们删除了另一个id

1 个答案:

答案 0 :(得分:0)

在“delete.php”文件中,必须用SELECT替换SELECT,因为该函数是DELETE。然后,代码应该是这样的:

$dquery = "DELETE FROM test1 WHERE id='$id'"; (...)

该功能只被调用一次,如上所示。