所以我有一个php文件从我的数据库打印出一个表格中的结果,当我使用复选框标记结果时,它会将此变量发送到删除它的新页面。问题是,在Jquery代码所在的同一页面中,显示了所有结果,并且我希望在删除某些内容后更新结果。尝试使用window.location.reload(true);在Ajax代码中,但现在它只删除一个结果。一些方法来重新发布页面或刷新结果?
在我的sakerselect.php中:这里打印出包含复选框的所有结果:
$sql = "SELECT * FROM WHERE Kundenr LIKE '".$_GET['kundenr'] ."'ORDER BY CAST(Status as varchar) DESC ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt == false){
die( print_r(sqlsrv_errors(), tue) );
}
echo "<table id='div2' border='1'>";
echo "<tr><th></th><th>Saksnr</th><th>Saksinfo</th><th>Eier</th> <th>Status</th></tr>";
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_BOTH))
{
echo "<tr>";
echo "<td><input type='checkbox' name='id[]' class='toedit' value='" . $row[0] . "'></td>";
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[4] . "</td>";
echo "</tr>";
}
sakerselect包含在我的KundeDisplay.php页面中。 KundeDisplay.php还包含这个ajax代码,将标记值发送到sakerdelete.php:
<script type="text/javascript">
$('#deletesaker').on('click', function () {
var ids = [];
$(".toedit").each(function () {
if ($(this).is(":checked")) {
ids.push($(this).val());
}
});
if (ids.length) {
$.ajax({
type: 'POST',
url: "php/sakdelete.php",
data: {
id: ids
},
success: function (data) {
alert(data);
$("p").text(data);
window.location.reload(true);
}
});
} else {
alert("Please select items.");
}
});
</script>
在我的sakdelete.php文件中:
include 'connect-database.php';
foreach ($_POST['id'] as $id) {
$sql = "DELETE FROM Saker Where Saksnr = $id";
$stmt = sqlsrv_query( $conn, $sql);
if ($stmt == false) {
die( print_r(sqlsrv_errors(), true) );
}
}
答案 0 :(得分:0)
您可以通过此方法一次删除一条记录
如果要删除两个,一次更多记录 试试这个....
http://www.codexworld.com/delete-multiple-records-from-mysql-in-php/