我正在尝试通过 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 作为 responseText 并打印出一条消息。我已经进行了测试alert(id)
,似乎 的值var id
保持默认值,就像我初始化它一样。所以错误一定是我通过 jQuery 检索 id 的方式。任何想法如何解决这个问题?
谢谢
将 $row['id'] 传递到您的 javascript 函数中,如下所示。在您的 html 中更改代码如下
<input type = 'submit' onclick = 'delete_record(".$row['id'].")' value = 'Delete' id = '".$row['id']."'>
在您的 javascript 中,像这样更改函数
function delete_rekord(rowid){
var id = rowid;
希望这对你有帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句