我正在尝试通过php从数据库表中删除一些记录,而不必重新加载页面(使用ajax)。首先,我打印表中的所有信息,然后用户可以单击 delete
按钮,将删除记录。然而,我在通过记录方面遇到了困难 id
到ajax方法。
ListProducts.php
create connection
...
$result = mysqli_query($conn, $sql);
echo "<table border = '1' style = 'border-collapse:collapse;'>";
echo "<tr><th>UserID</th><th>Username</th><th>Action</th></tr>";
if (mysqli_num_rows($result)>0){
while ($row = mysqli_fetch_assoc($result)){
echo "<tr><td>".$row['id']."</td><td>".$row['username']."</td><td><input type = 'submit' onclick = 'delete_record()' value = 'Delete' id = '".$row['id']."'></td></tr>";
}
}
在同一个页面中,还有ajax函数。我给了每个 input
字段对应的id,我正在尝试用jquery选择它
function delete_rekord(){
var id = "Default";
$(document).ready(function(){
$("input").click(function(){
id = $(this).attr('id');
});
});
alert(id); //Test; will print DEFAULT
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function (){
if (this.readyState == 4 && this.status == 200){
alert("Deleted user with ID: " + this.responseText);
}
}
xhttp.open("GET", "delete.php?id="+id, true);
xhttp.send();
}
超过 delete.php
我只需删除记录并打印我在此函数中收集的已删除记录的id作为响应文本并打印出一条消息。我做了个测试 alert(id)
看来 var id
保持默认值,就像我初始化它一样。所以错误一定是我通过jquery检索id的方式。有什么办法解决这个问题吗?
谢谢
3条答案
按热度按时间eh57zj3b1#
将id的值作为函数参数传递
iq3niunx2#
将$row['id']传递到javascript函数中,如下所示。在您的html中,更改如下代码
在javascript中,如下更改函数
希望这对你有帮助
tcbh2hod3#
你应该检查一下
id
将变量放入delete函数中在你的js里