如果可以使用复选框更改多行值


If it possible to changed multiple rows value using checkbox?

选中

复选框时是否可以编辑数据库中的状态字段?

想要的是,当我检查表中的多行时,它会在我提交后自动将数据库中的行['status']的值更新为yes。

就这样,

表应用程序

counter | status
100001  | 
100002  | 
100003  |   
100004  | 

当我检查100001并100002状态的值更改为是时。

counter | status
100001  | yes
100002  | yes
100003  |   
100004  | 

下面是我的简短代码。

<form name="form1" method="post" action="">
<?php
$mysqli = new mysqli("localhost", "root", "", "app");
$result1 = $mysqli->query("SELECT * FROM APP");
echo'<table id="tfhover">
<tr>
<th>status</th>
<th></th>
</tr>';
while($row = $result1->fetch_assoc()){
echo
'<tr>
<td>'.$row['status'].'</td>
<td><input name="checkbox[]" type="checkbox" id="checkbox[]" value="'.$row['counter'].'"></td>
</tr></table>';
?>
<input id='edit' type='submit' class='button' name='edit' value='Edit'/> 
</form>
<?
if(isset($_POST['edit'])) 
{
}
?>

如果可以这样做?帮助?

也许你可以试试这段代码在 PHP

<?
if(isset($_POST['edit'])) 
{
     if(is_array($_POST['checkbox'])){
         $status = "yes";
         foreach($_POST['checkbox'] as $key=>$value){
             $stmt = $mysqli->prepare("UPDATE APP SET status=? WHERE counter= ?");
             $stmt->bind_param('ss', $status, $value);
             $stmt->execute();             
         }
     }else{
         echo "No changes";
     }
}
?>

name="checkbox[]"将在 $_POST["checkbox"] 中创建一个数组供您使用。 该数组将包含所选所有复选框的值。