gpt4 book ai didi

php - 使用 AJAX 从数据库中删除记录

转载 作者:可可西里 更新时间:2023-11-01 07:58:00 26 4
gpt4 key购买 nike

我有一个显示数据库数据的 PHP 文件。我正在使用 while()显示每条记录。

我的 PHP 文件:

<?php

$flightTicketsSQL = "SELECT * FROM `flightbookings` WHERE username='$user' AND cancelled='no'";
$flightTicketsQuery = $conn->query($flightTicketsSQL);

while($flightTicketsRow = $flightTicketsQuery->fetch_assoc()) { ?>

<tr>
<td class="tableElementTags text-center"><?php echo $flightTicketsRow["bookingID"]; ?></td>
<td class="tableElementTags text-center"><?php echo $flightTicketsRow["origin"]; ?></td>
<td class="tableElementTags text-center"><?php echo $flightTicketsRow["destination"]; ?></td>
<td class="tableElementTags text-center"><?php echo $flightTicketsRow["date"]; ?></td>
<td class="tableElementTags text-center"><?php echo $flightTicketsRow["mode"]; ?></td>
<td class="text-center"><span class="fa fa-remove tableElementTags pullSpan" id="deleteAccount"></span></td>
</tr>

<?php } ?>

如果用户点击最后一个 <td> (带有 Font Awesome 图标的那个),我想从数据库中删除具有特定 bookingID 的记录。

为此,我需要使用 jQuery .val() 来识别值

我的 JS 文件:

var id = $("**WHAT DO I PUT HERE ?**").val();

$('#deleteAccount').click(function() {
$.ajax({
type: "POST",
url: 'cancelTicket.php',
data: { bookingID : id },
success : function() {
alert("Cancelled");
}
});
});

我的 cancel.php 文件:

<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$user = $_SESSION["username"];
$id = $_POST["bookingID"];


$cancelFlightBookingsSQL = "UPDATE `flightbookings` SET cancelled='yes' WHERE bookingID='$id'";
$cancelFlightBookingsQuery = $conn->query($cancelFlightBookingsSQL);

我的问题是如何让 jQuery 识别用户想要取消的预订?我的意思是如何为 <td> 分配一个 id这样我就可以在 JS 中检索它的值。

我知道我无法正确地提出这个问题。对此感到抱歉。

谢谢

最佳答案

这里有几个问题。首先,您需要为 span 使用 class 而不是 id,否则它会被 PHP 循环复制到 DOM 中,这将导致无效的 HTML,这将破坏您的点击事件处理程序。

完成后,您需要在点击处理程序中设置id变量值,以便您可以找到与td相关的到点击的元素。你可以这样做:

<!-- repeated throughout your while loop -->
<td class="text-center">
<span class="fa fa-remove tableElementTags pullSpan deleteAccount"></span>
</td>
$('.deleteAccount').click(function() {
var id = $(this).closest('tr').find('td:first').text().trim();

$.ajax({
type: "POST",
url: 'cancelTicket.php',
data: {
bookingID: id
},
success: function() {
alert("Cancelled");
}
});
});

关于php - 使用 AJAX 从数据库中删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46567581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com