我有三页:
1)index.php(从select.php获取结果并将它们放入div#results)
2)select.php(循环进入MySQL表)
3)delete.php(将user_id作为参数获取并从MySQL表中删除)。
我的目标是:用户点击删除后!显示更新的结果(更改/删除后)
来自MySQL表的
我的问题是我不知道怎么告诉jQuery:listen process delete.php?id = 123&然后
在保留index.php的同时重新加载select.php,而不重定向到delete.php
因此用户实际上看不到会发生什么或者没有看到他被重定向到
另一页。
的index.php
<html>
<title>a</title>
<head>
<script type="text/javascript" src="jquery-1.8.0.js"></script>
<script type="text/javascript">
$(function() {
$('#result').load('select.php');
});
</script>
</head>
<body>
<div id="result"></div>
</body>
</html>
select.php
<?php
$con = mysql_connect("localhost","root","123");
if (!$con) { die('Could not connect: '); }
mysql_select_db("test", $con);
$result = mysql_query("select * from users");
while($rs3 = mysql_fetch_array($result)) {
echo $rs3["user_email"]." ".$rs3["user_name"]." ";
echo "<a href=delete.php?id=".$rs3[user_id].">Delete</a>";
echo "<br />";
}
?>
delete.php
<?php
$con = mysql_connect("localhost","root","123");
if (!$con) { die('Could not connect: '); }
mysql_select_db("test", $con);
$id = mysql_escape_string($_GET["id"]);
$delete = "delete from users where user_id='{$id}'";
@mysql_query($delete);
?>
谢谢。
答案 0 :(得分:5)
创建非链接,但AJAX查询删除。让JQuery调用链接。例如:
<script type="text/javascript">
$(function() {
function refreshContent(){
$('#result').load('select.php');
}
$('#result').on('click','a',function(event){
// prevent going by link `href`
event.preventDefault();
// get deleting row id
var ids = $(this).data('ids');
// make AJAX call for delete
$.get("delete.php", { id: ids},function(data){
// on success - refresh tcontent
refreshContent();
});
return false;
});
// making content load on start
$(document).ready(function(){
refreshContent();
});
});
</script>
此外,您必须在ids
中添加<a>
。在这一行:
echo "<a href='delete.php?id=".$rs3[user_id]."' data-ids='".$rs3[user_id]."'>Delete</a>";