我正在使用用户将选择从数据库中删除记录的菜单。在菜单下方,我有一个显示数据库记录的表格。当我手动刷新页面时,表格中的显示结果显示该记录已被删除,但是,尽管我尽了最大努力,但我的#results 部分似乎没有收到任何消息。
这是HTML:
<form action="" method="POST" name="deleteAccountForm">
<table>
<thead>
<th>Delete Account</th>
<th></th>
</thead>
<tbody>
<tr>
<td><select name="deleteMenu" id="deleteMenu">
<?php
foreach($accounts as $key=>$value) { ?>
<option name="account_name" value="<?php echo $value['account_id_PK']; ?>"><?php echo $value['account_name']; ?></option>
<?php } ?>
</select>
</td>
<td><input type="submit" name="delete" value="Delete"></td>
</tr>
</tbody>
</table>
</form>
和我的 Javascript:
var delAccount = function(e) {
e.preventDefault();
var data = $('#deleteAccountForm').serialize();
$.ajax({
type: "POST",
url: "inc/functions.php",
data: data,
beforeSend: function() {
$('#results').html('processing');
},
error: function() {
$('#results').html('failure');
},
success: function(response) {
$('#results').html(response);
},
timeout: 3000,
});
};
和我的PHP:
function delete_account() {
require(ROOT_PATH . "/inc/database.php");
$deleteAccount = $_POST['deleteMenu'];
try {
$results = $db->prepare("DELETE FROM account WHERE account_id_PK = ?");
$results->bindValue(1, $deleteAccount);
$results->execute();
} catch(Exception $e) {
echo "ERROR: Data could not be removed from the database. " . $e;
exit;
}
}
我还需要知道如何在完成后运行一个函数来更新我的显示表中的结果,而无需手动刷新页面。