根据复选框的用户输入切换数据库中的值

时间:2019-08-03 10:54:58

标签: php html sql checkbox

我有一个将从数据库中获取的项目列表。每行在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);
}
}
}

0 个答案:

没有答案
相关问题