我想在用户确认的情况下使用删除按钮从表中删除一行,但在 jQuery ajax 的帮助下不刷新页面。
我对 php、html、javascript、jquery 和 sql 略知一二。我不知道该怎么做,但我真正想做的是能够从 sql 表中提取数据(我已经知道该怎么做)。
然后用旁边的按钮显示数据(我也已经知道该怎么做)。当他们单击该按钮时,它将删除保存可见数据的元素,并发送一个 sql 语句来删除数据库中的行。一个非常粗糙的代码。
<?php
echo '<p>Data 1: '".$someDataFromDB."'<button id='deleteThisRow'></button></p>;
?>
由此我想:
- 点击按钮
- 删除段落元素,让用户知道它已被删除
- 然后发送一条sql语句从sql表中删除行
所有这一切都无需刷新页面。这可能吗?
是的,这是可能的,但您应该只将条目的 ID 发送到特定页面以删除该条目。永远不要发送整个 sql 语句。
<button id="<?php echo $row['id']; ?>" class="delbutton"></button>
将此脚本添加到您的页面
<script type="text/javascript" >
$(function() {
$(".delbutton").click(function() {
var del_id = $(this).attr("id");
var info = 'id=' + del_id;
if (confirm("Sure you want to delete this post? This cannot be undone later.")) {
$.ajax({
type : "POST",
url : "delete_entry.php", //URL to the delete php script
data : info,
success : function() {
}
});
$(this).parents(".record").animate("fast").animate({
opacity : "hide"
}, "slow");
}
return false;
});
});
</script>
最后但同样重要的是你的删除脚本
<?php
include 'connection.php';
$id=$_POST['id'];
$delete = "DELETE FROM table WHERE id=$id";
$result = mysql_query($delete) or die(mysql_error());
?>