Удалить запись SQL из диалога jQuery

У меня есть таблица, сгенерированная из php во время цикла отображения записей в файле с именем userlist.php. Используя data-id, с каждой таблицей теперь связан идентификатор записи SQL.

В моем container.php файл, у меня есть исходный код JQuery, который загружает userlist.php в деление на интервале в 1 секунду. Теперь, при нажатии на каждую отдельную таблицу, я скрываю userlist.php и показать другой файл в div с именем userdetails.php, который содержит больше информации о каждом пользователе.

Теперь я пытаюсь использовать диалоговое окно jQuery, чтобы показать подтверждающее сообщение перед удалением записи. В userdetails.php Вы можете увидеть фрагмент ajax, который я изменил, основываясь на некоторых предложениях. Проблема в том, что вставка этого в файл предотвращает щелчок по каждой таблице, чтобы показать детали. Если я удаляю это, детали могут быть доступны.

Вот мой код без фрагмента ajax, в том числе он не позволяет получить доступ к деталям:
Кликните сюда

container.php

<div id="userlist"></div>

<div id="userdetails"></div>

<script>
setInterval(function(){
$("#userlist").load("userlist.php");
}, 1000);
$('#userdetails').hide();
$(document).on("click",".user", function() {
var id = $(this).attr("data-id");
$.get("userdetails.php", {id: id}).done(function(data) {
$('#userdetails').html(data);
$('#userdetails').show();
$('#userlist').hide();
});
})
$(document).on("click","#back", function() {
$('#userlist').show();
$('#userdetails').hide();
});
</script>

userlist.php

<?php

include 'dbh.php';

$result = $conn->query("SELECT * FROM users");

if ($result->num_rows > 0) {

while ($row = $result->fetch_assoc()) {

$color = array("ADMIN"=>"#ebc45b", "MOD"=>"#8fce61", "USER"=>"#9b9ed2");

?>

<table data-id="<?php echo $row['id']; ?>" class="user" title="User ID: <?php echo $row['id']; ?>">
<tr>
<td align="left">User ID:</td>
<td align="right"><?php echo $row['id']; ?></td>
</tr>
<tr>
<td align="left"><?php echo $row['address']; ?></td>
<td align="right"><?php echo $row['zip']; ?></td>
</tr>
<tr>
<td align="left"><?php echo $row['city']; ?></td>
<td align="right"><?php echo $row['state']; ?></td>
</tr>
<tr>
<td align="left"><span style="color: <?php echo $color[$row['user_level']]; ?>"><?php echo $row['user_level']; ?></span></td>
<td align="right">"member since..."</td>
</tr>
</table>

<?php
}
}
?>

userdetails.php

<?php

include 'dbh.php';

$result = $conn->query("SELECT * FROM users WHERE id=" . $_GET["id"]);

if ($result->num_rows > 0) {

while ($row = $result->fetch_assoc()) {

?>
<div class="menu">
<span id="back">BACK</span>
<span id="delete" data-id="<?php echo $row['id']; ?>">DELETE</span>
<span id="new">NEW</span>
<span id="edit">EDIT</span>
</div>
<table class="userdetails">
<tr>
<td align="left">First Name:</td>
<td align="right"><?php echo $row['first_name']; ?></td>
</tr>
<tr>
<td align="left">Last Name:</td>
<td align="right"><?php echo $row['last_name']; ?></td>
</tr>
<tr>
<td align="left">Age:</td>
<td align="right"><?php echo $row['age']; ?></td>
<tr>
</tr>
<td align="left">Sex:</td>
<td align="right"><?php echo $row['sex']; ?></td>
</tr>
</table>

<script>

//JQ Delete
$(document).on("click","#delete", function() {
var id = $(this).attr('data-id');
$("#dialog-confirm").data('del-id', id).dialog('open').html('Delete user ' + id + '?');
});

$("#dialog-confirm").dialog({
resizable: false,
title: 'Confirm Delete',
height:150,
modal: true,
autoOpen:false,
buttons: {
'Yes': function() {
var id = $(this).data('del-id');

$.ajax({
type:'POST',
url:'deleteuser.php',
data:{id: id},
}),$('#append').append('Deleted User: ' + id + '<br>');
$(this).dialog('close');
},
'No': function() {
$(this).dialog('close');
}
}
});

</script>

<div id="dialog-confirm" style="display:none;"></div>

<span id="append"></span>

<?php
}
}
?>

deleteuser.php

<?php
include 'dbh.php';
$sql = "DELETE FROM users WHERE id=" . $_POST["id"];

if ($conn->query($sql) === TRUE) {
echo "User has been deleted!!!";
} else {
echo "Error deleting user: " . $conn->error;
}
$conn->close();

Просто ищу небольшую помощь, спасибо!

1

Решение

Наконец-то получил эту работу с:

  $.ajax({
type:'POST',
url:'deleteuser.php',
data:{id: id},
}),
1

Другие решения

Я думаю, что это то, что вы хотите

 $.ajax({
url: "deleteuser.php",
type: "post",
data: 'deleteuser.php?id=' + id,
cache: false,
success: function(data) {
// Close your dialogue on success
}
});

Надеюсь это поможет!

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector