【发布时间】:2015-11-15 20:55:16
【问题描述】:
所以我有一个 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) );
}
}
【问题讨论】:
标签: php jquery sql-server ajax