Я пытаюсь удалить некоторые записи из таблицы базы данных через 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
полю соответствующий идентификатор, и я пытаюсь выбрать его с помощью 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
Я просто удаляю запись и печатаю идентификатор удаленной записи, которую я собираю в этой функции в виде responseText, и распечатываю сообщение. Я поставил тест alert(id)
и кажется, что значение var id
оставаясь по умолчанию, как я его инициализирую. Таким образом, ошибка должна заключаться в том, что я получаю идентификатор через jQuery. Есть идеи, как решить эту проблему?
Спасибо