2017-05-28 99 views
0

如果我在删除记录后出现ID,则在控制台中显示正确的ID。所以,它似乎是正确连接,但实际上并没有从我的数据库中删除记录。我无法弄清楚,但它可能是明显的。使用php/ajax记录没有删除

JS

<script type="text/javascript"> 
$(document).ready(function() { 
    $('.table-row').on('click', function (e) { 
     e.preventDefault(); 
     var $otId = $(this).data('ot-id'); 
     swal({ 
      title: 'Are you sure?', 
      text: "You won't be able to undo this!", 
      type: 'warning', 
      showCancelButton: true, 
      confirmButtonColor: '#FB404B', 
      cancelButtonColor: '#d33', 
      confirmButtonText: 'Yes, delete it!', 
      closeOnCancel: false 
     }, function (isConfirm) { 
      if (isConfirm) { 
       $.ajax({ 
        type: 'post', 
        url: 'functions/delete-ot-request.php', 
        data: {otId: $otId}, 
        success: function (result) { 
         // window.location.href = 'delete-ot.php'; 
         console.log($otId); 
        }, 
       }); 
      } else { 
       swal("Cancelled", "Maybe next time then.", "error"); 
      } 
     }); 
    }); 
}); 
</script> 

PHP

if(isset($_POST['otId'])) { 
    $stmt = $link->prepare("DELETE FROM `ot_request` WHERE `id` = ? LIMIT 1"); 
    $stmt->bind_param("i", $_POST['otId']); 
    $stmt->execute(); 
    $stmt->close(); 
} 

这是一个包含ID的HTML表格行:

<tr class="table-row" data-ot-id="{$id}"></tr> 
+0

你能充分展现html代码!因为你发布tr不可能点击没有td –

+0

改进的格式 – purvik7373

回答

0

console.log($otId);报告您先前发送的ID值,而不是从服务器端返回的数据。

因此,这个输出证明只有ajax的过程是成功的,而不是服务器的工作,这很可能变成什么错出于某种原因。

所以,你应该寻找的错误在服务器端,有发回一些执行跟踪开始:

if(isset($_POST['otId'])) { 
    try { 
    $stmt = $link->prepare("DELETE FROM `ot_request` WHERE `id` = ? LIMIT 1"); 
    $stmt->bind_param("i", $_POST['otId']); 
    $stmt->execute(); 
    $stmt->close(); 
    echo 'otId "' . $_POST['otId'] . '" processed'; 
    } catch(PDOException $e) { 
    echo $e->getMessage; 
    } 
} else { 
    echo 'No otId found'; 
} 

和修改你的Javascript,所以你输出此跟踪:

success: function (result) { 
    console.log(result); 
}