Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php mysql复选框保存内部while循环_Php_Mysql - Fatal编程技术网

php mysql复选框保存内部while循环

php mysql复选框保存内部while循环,php,mysql,Php,Mysql,我有一个列表行的循环,我想做的是返回基本1或0 1检查,0取消选中列出的行。我在没有WHILE函数的情况下成功地做到了这一点,但在WHILE函数中它将无法工作 <?php $interval = $conn->query("SELECT ID,Vrsta_segmenta, Active FROM `msa_segmenti`"); if ($interval->num_rows > 0) { while($row = $interval

我有一个列表行的循环,我想做的是返回基本1或0 1检查,0取消选中列出的行。我在没有WHILE函数的情况下成功地做到了这一点,但在WHILE函数中它将无法工作

<?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>
您正在使用==设置变量的值。此运算符用于“相等”而不是“赋值”

$check_value == '1';
$check_value == '0';
进入

第二期

您正在使用==设置变量值的

附近缺少>。此运算符用于“相等”而不是“赋值”

$check_value == '1';
$check_value == '0';
进入

第二期


附近有丢失的>试试这个,希望能奏效

   if (isset($checked)) { ?> checked
                        <?php
                        } else {  "" 
                          }
                        ?>'
注意:如果$checked变量中的值为0或1,则此选项将起作用
不需要其他工具:

试试这个,希望能奏效

   if (isset($checked)) { ?> checked
                        <?php
                        } else {  "" 
                          }
                        ?>'
注意:如果$checked变量中的值为0或1,则此选项将起作用
无需elseif:

如果未选中,则不会得到任何值,因此请检查post数据并编写代码以匹配行为,如果未选中,则可能会得到null或空值。

如果未选中,则不会得到任何值,因此请检查post数据并编写代码以匹配行为,如果不选中,您可能会得到null或空值。

我设法解决了我的问题:

<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>

我设法解决了我的问题:

<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>

查看HTML呈现的源代码。我可以从数据库中读取,但问题是当我需要保存更改的状态时。如果您未选中,您将不会得到任何值,因此请检查post数据并编写代码以匹配行为,如果未选中,您可能会得到null。@rtstorm:啊,好的,问题在于保存。您尝试保存最后一个复选框$\u POST['check']。将复选框名称更改为check[],则值将位于数组$\u POST['check']中。在保存脚本时加上change==into=。@panther:我在输入名中添加了[],change==to=但仍然没有保存:我注意到,如果我手动将数据库中的1设置为0,当我刷新页面时,它将更改为1。所以我认为这个剧本被称为“尊重ISSET”。我说的对吗?查看源代码中呈现的HTML。我可以从数据库中读取内容,但问题是当我需要保存更改的状态时,如果未选中,您将不会得到任何值,因此请检查post数据并编写代码以匹配行为,如果未选中,您可能会得到null。@rtstorm:啊,好的,问题在于保存。您尝试保存最后一个复选框$\u POST['check']。将复选框名称更改为check[],则值将位于数组$\u POST['check']中。在保存脚本时加上change==into=。@panther:我在输入名中添加了[],change==to=但仍然没有保存:我注意到,如果我手动将数据库中的1设置为0,当我刷新页面时,它将更改为1。所以我认为这个剧本被称为“尊重ISSET”。我说的对吗?这页是不是在什么地方?HTMLis中一定有错误。这个页面是否在某个地方?HTML中一定有错误