我正在尝试使用复选框删除多行但是我似乎没有让它工作。有人能告诉我我缺少什么或者更好的方法吗?
我正在尝试使用其ID删除行。我收到以下通知,在删除的列
中没有设置为yes
Notice: Array to string conversion in
<form action="" method="post">
<?php
$result = $stmt->get_result();
echo"<div class='message'>";
while ($row = $result->fetch_assoc()) {
?>
<div class='msgwrap'>
<input name="checkbox[<? echo $row['id']?>]" type="checkbox" ><?php echo $row['to_user'];?>
</div>
<?php
}
?>
<input type="submit" name="delete">
</div>
</form>
<?php
if (isset($_POST['delete'])) {
$id = $_POST['checkbox'];
$mydb = new mysqli('localhost', 'root', '', '');
$stmt = $mydb->prepare("update messages SET deleted ='yes' where to_user = ? and id = ? ");
$stmt->bind_param('ss', $user, $id);
$stmt->execute();}
?>
答案 0 :(得分:0)
由于您在name
属性中使用数组表示法,PHP会自动将您的复选框的POST值转换为数组。尝试这样的事情:
$ids = implode( ',', $id );
$stmt = $mydb->prepare("update messages SET deleted ='yes' where to_user = ? and id IN(?) ");
$stmt->bind_param('ss', $user, $ids);
您的代码中不清楚$user
来自何处。