0

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

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

像这样,

表APP

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'])) 
{

}
?>

如果有可能做到这一点?帮助 ?

4

2 回答 2

0

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

于 2013-11-13T03:08:30.633 回答
0

也许你可以在 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";
     }
}
?>
于 2013-11-13T03:26:29.290 回答