我有一个将从数据库中获取的项目列表。每行在DB中都有一个复选框和一个关联值。如果选中并保存,则该值将更改为1,否则将为0。
因此在页面加载时会出现一个下拉列表以选择项目。根据选择,将提取数据。带有1的值将显示为已选中,而未选中0的值。 我试图将其更新为单击按钮时的数据库。因此,新选中的将被保存为状态1,未选中的将被更新为状态0。
如果一个值以前是1,并且在更新过程中未选中,则该值应更改为0。
我的代码:
HTML:
// output data of each row
while($row = $result->fetch_assoc()) {
?>
<tbody>
<tr class="even pointer" id="<?php echo $row['tcode'] ?>">
<td class="a-center ">
<?php if($row['selected'] == 0){ ?>
<input class="flat" type="checkbox" name="check_list[]" value="<?php echo $row['tcode'] ?>">
<?php } else{ ?>
<input class="flat" type="checkbox" name="check_list[]" value="<?php echo $row['tcode'] ?>" checked>
<?php } ?>
</td>
<td class=" "><?php echo $row['task_name'] ?></td>
<td class=" "><?php echo $row['tcode'] ?></td>
<td class=" "><?php echo $row['task_category'] ?></td>
</td>
</tr>
</tbody>
<?php } ?>
PHP:
if(isset($_POST['submit'])){//to run PHP script on submit
if(!empty($_POST['check_list'])){
$projectcode=$_POST['projectcategory'];
// Loop to store and display values of individual checked checkbox.
echo $_POST['check_list'];
foreach($_POST['check_list'] as $selected){
$sql2="UPDATE mappedtask SET selected=1 WHERE pcode = '$projectcode' AND pcode = '.$_POST[tcode].' ";
$result2=$conn->query($sql2);
}
}
}