【发布时间】:2015-11-13 22:09:05
【问题描述】:
我正在尝试使用checkbox 从我的 sql 数据库中删除行。只要只有一个 checkbox 标记,这就可以正常工作。但我也希望可以删除多行。我看过很多例子,但我无法让它工作。希望这里的任何人都可以帮助我。
所以首先是 result.php 文件(这里是创建的所有行/表):
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[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "</tr>";
}
echo "</table>";
这个文件包含在我的主 html (main.html) 文件中,这里也是 Jquery。
Jquery 发送 chechbox 变量到 delete.php 文件:
<script type="text/javascript">
$(".deletelogg").on('click', function(){
$.ajax({
type: 'POST',
url: "php/delete.php",
data: {id:$('.toedit:checked:first').val()},
success: function(data) {
alert(data);
$("p").text(data);
}
});
});
</script>
最后在我的 delete.php 文件中:
include 'connect-database.php';
for ($i = 0; $i < count($_POST['id']); $i++) {
if ($_POST['id'][$i] != "") {
echo $_POST['id'] ;
$sql = "DELETE FROM Logg Where LoggID LIKE '".$_POST['id']."'";
$stmt = sqlsrv_query( $conn, $sql);
if ($stmt == false) {
die( print_r(sqlsrv_errors(), true) );
}
}
}
我试图创建一个包含来自checkbox 的所有id 的数组,但它不起作用.. 有什么帮助吗?
【问题讨论】:
-
你不能那样做。如果要传递多个值,则需要在查询中解析值。此外,您需要参数化您的查询。你这里有一个 sql 注入的教科书示例。
标签: php jquery sql-server