首页 > 解决方案 > php - 使用复选框在循环内更新mysql

问题描述

我正在尝试使用复选框更新数据库中的所有选定字段。这是我已经完成的代码,但它只更新我从复选框列表中选择的最后一条记录。

<tbody>
<?php while($row = mysqli_fetch_array($queryEmail)):?>
<tr>    
<td><input type="checkbox" name="formDoor[]" value=<?php echo $row['id'];?>> 
</td>
<td><?php echo $row['name'];?></td>
<td><?php echo $row['hour'];?></td>             
</tr>
<?php endwhile;?>
</tbody>
<?php
$hor = $_POST['hours']; //input value i want to update in selected id's
foreach ($_POST['formDoor'] as $entry){  
$sql = "UPDATE hora SET hour='$hor' WHERE id = $entry";  
}
?>

标签: phpmysqlsql-update

解决方案


试试这个你忘记在循环中执行 mysqli_query()

<tbody>
<?php while($row = mysqli_fetch_array($queryEmail)):?>
    <tr>    
        <td>
            <input type="checkbox" name="formDoor[]" value=<?php echo $row['id'];?>> 
        </td>
        <td><?php echo $row['name'];?></td>
        <td><?php echo $row['hour'];?></td>             
    </tr>
<?php endwhile;?>
</tbody>

<?php
$hor = $_POST['hours']; //input value i want to update in selected id's
foreach ($_POST['formDoor'] as $entry){  
   $sql = mysqli_query($con,"UPDATE hora SET hour='$hor' WHERE id = $entry");     
}    
?>

推荐阅读