我使用以下代码在网站表上显示MySQL记录。 这是删除按钮的列:
<td align="center"><a id="<?php echo $row['id_peticion']; ?>" class="delete-link" href="#" title="Delete">
<img src="delete.png" width="20px" />
</a></td>
这是用户点击删除按钮时调用的JS代码:
/* Data Delete Starts Here */
$(".delete-link").click(function()
{
var id = $(this).attr("id");
var del_id = id;
var parent = $(this).parent("td").parent("tr");
if(confirm('Seguro que quieres borrar la petición # = ' +del_id))
{
$.post('delete.php', {'del_id':del_id}, function(data)
{
parent.fadeOut('slow');
});
}
return false;
});
/* Data Delete Ends Here */
这是来自delete.php的代码
<?php
include_once 'dbconfig.php';
if($_POST['id_peticion'])
{
$id = $_POST['id_peticion'];
$stmt=$db_con->prepare("DELETE FROM tbpeticiones WHERE id_peticion=:id");
$stmt->execute(array(':id'=>$id));
}
?>
单击时,记录会从表中消失,但不会从数据库中删除。
我找不到原因...... 谢谢
答案 0 :(得分:2)
您的帖子密钥是del_id
而非id_peticion
,如jquery中所指定的那样:
$.post('delete.php', {'del_id':del_id}, function(data)
答案 1 :(得分:2)
您正在检查$_POST['id_peticion']
,而删除ID将在$_POST['del_id']
中。将您的代码更改为:
if($_POST['del_id'])
{
$id = $_POST['del_id'];
$stmt=$db_con->prepare("DELETE FROM tbpeticiones WHERE id_peticion=:id");
$stmt->execute(array(':id'=>$id));
}