我无法使用复选框的值来删除数据库中的行。 如果我选择更多复选框,它将只删除其中一个选定的行。
我的PHP代码:
// Here I didn't know how to put the value of all checkboxes into one variable.
$intChk = array();
$intChk = $_POST['chk'];
/* ..... */
$stmt = $mysqli->prepare("DELETE FROM follow WHERE id = ?");
$stmt->bind_param('s', $intChk);
$stmt->execute();
$stmt->close();
我的HTML代码:
<input type="checkbox" id="chk" class="checkbox" value="<?php echo $followId; ?>" name="chk[]">
感谢您的帮助!
答案 0 :(得分:3)
此代码仅适用于多个删除而不是单个!
$params = array();
foreach ($_POST['chk'] as $val) {
$intChk[] = $val;
}
$params = array_map(function($check) {
return "?";
}, $intChk);
$params = implode(',',$params);
$stmt = $mysqli->prepare("DELETE FROM follow WHERE id IN (".$params.")");
foreach ($intchk as $key => $val) {
$stmt->bind_param($key+1, $val);
}
$stmt->execute();
$stmt->close();