php mysql复选框在循环中保存

时间:2018-03-28 07:45:24

标签: php mysql

我有这个循环用于列表行,我想要做的是返回到基本1或0(1检查,0取消选中)到列出的那一行。我设法在没有WHILE功能的情况下执行此操作,但在功能中它不会工作。

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    cell.alpha = 0
    let transform = CATransform3DTranslate(CATransform3DIdentity, 0, 200, 0)
    cell.layer.transform = transform

    UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseOut, animations: {
        cell.alpha = 1
        cell.layer.transform = CATransform3DIdentity
    })
}

现在我需要在单击“保存”按钮时将值返回到数据库。 我知道我需要检查点击状态所以我试试这个但是没有用:

<?php

    $interval = $conn->query("SELECT ID,Vrsta_segmenta, Active FROM `msa_segmenti`");
    if ($interval->num_rows > 0) {
        while($row = $interval->fetch_array()) {
            $checked =  $row["Active"]; 
    ?>                              
    <form name="update" method="POST" action="msa_pauze_admin.php" class="form-horizontal form-label-left">

        <div class="form-group">
            <label class="control-label col-md-3 col-sm-3 col-xs-12"><?php echo $row["Vrsta_segmenta"];?></label>
            <div class="col-md-9 col-sm-9 col-xs-12">
                <div class="">
                    <label>
                        <input type="checkbox" name="check" value="<?php echo $row["Active"];?>" class="js-switch" 
                        <?php
                        if ($checked == '1') { ?> checked
                        <?php
                        } else if ($checked == '0')  "" 
                        ?>
                    </label>
                </div>
            </div>
        </div>
<?php  }} ?>              
<button type="submit" class="btn btn-success" value="Save">Save</button>

4 个答案:

答案 0 :(得分:0)

您正在使用==来设置变量的值。此运算符用于等于而不是赋值。

改变
$check_value == '1';
$check_value == '0';

$check_value = '1';
$check_value = '0';

第二期

>

附近缺少<?php } else if ($checked == '0') "" ?>

答案 1 :(得分:0)

试试这个,希望这会起作用

   if (isset($checked)) { ?> checked
                        <?php
                        } else {  "" 
                          }
                        ?>'

注意:如果$ checked变量中有0或1个值,则此方法有效 不需要elseif:)

答案 2 :(得分:0)

我设法解决了我的问题:

<form name="update" method="POST" action="msa_pauze_admin.php" class="form-horizontal form-label-left">
<?php
                                    if (!empty($_POST['Active'])) {
                                        $interval_check = "UPDATE `msa_segmenti` SET `Active` = 0 ";
                                        $mysqli->query($interval_check);
                                    }
                                    $interval = $conn->query("SELECT ID,Vrsta_segmenta, Active FROM `msa_segmenti`");
                                    if ($interval->num_rows > 0) {
                                    while ($row = $interval->fetch_array()) {
                                        $id = $row["ID"];
                                        if (isset($_POST['Active'][$id])) {
                                            $interval_check = "UPDATE `msa_segmenti` SET `Active` = 1 WHERE `ID` = '" . $_POST['Active'][$id] . "'";
                                            $mysqli->query($interval_check);

                                        }
                                    }

                                        $interval = $conn->query("SELECT ID,Vrsta_segmenta, Active FROM `msa_segmenti`");
                                        while ($row = $interval->fetch_array()) {
//print_r($row);
                                            $checked = $row["Active"];
                                            $id = $row["ID"];
                                            //echo count($_POST['Active']);
                                            //echo "<pre>"; print_r($_POST); exit;

                                            ?>

        <div class="form-group">
                        <label class="control-label col-md-3 col-sm-3 col-xs-12"><?php  echo $row["Vrsta_segmenta"]; ?></label>
                        <div class="col-md-9 col-sm-9 col-xs-12">
                                                    <div class="">
                                                        <label>
                                                            <input type="checkbox" name="Active[<?php echo $id; ?>]"
                                                                   value="<?php echo $id; ?>"
                                                                   class="js-switch" <?php echo ($checked == 1) ? 'checked' : ''; ?>>
                                                        </label>
                                                    </div>
                                                </div>
                </div>



<?php

    }
} 

?>                              
                    <button type="submit" class="btn btn-success" value="Save">Save</button>
                    </form>

答案 3 :(得分:-1)

如果您未选中,则不会获得任何值,因此请检查发布数据并编写与行为匹配的代码,如果未选中,可能会显示为空或空。