Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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:将列名显示为复选框,如果列值为1,则显示为选中_Php_Html_Checkbox - Fatal编程技术网

PHP:将列名显示为复选框,如果列值为1,则显示为选中

PHP:将列名显示为复选框,如果列值为1,则显示为选中,php,html,checkbox,Php,Html,Checkbox,我有下表: ID | Monday | Tuesday | Wednesday | Thursday | Friday 25 | 1 | 0 | 0 | 1 | 1 (这不是正确的格式,假设一个表在未选中一天时为零,在选中一天时为一) 我希望它在我的html页面上显示如下: 星期一(选中复选框) 星期二(未选中复选框) 星期三(未选中复选框) 等等。 我知道如果您希望选中复选框,输入标记包含“checked”。但我需要在输入标记中插入一个if

我有下表:

ID | Monday | Tuesday | Wednesday | Thursday | Friday
25 | 1      |  0      |   0       |  1       | 1
(这不是正确的格式,假设一个表在未选中一天时为零,在选中一天时为一)

我希望它在我的html页面上显示如下:

星期一(选中复选框)
星期二(未选中复选框)
星期三(未选中复选框)

等等。 我知道如果您希望选中复选框,输入标记包含“checked”。但我需要在输入标记中插入一个if条件,即如果$value为1,则回显“checked”。这可能只是一个在php中正确格式化html中的php的问题

到目前为止,我已经有了这段PHP代码,但它只给出了未选中的复选框,没有日期标题:

<html>    
<?php    
    $firstrow = false;
        while ($row = mysqli_fetch_assoc($res_skill)){
        if (!$firstrow) {
        foreach ($row as $column => $value) {
        echo "<input type='checkbox' name='data[]' value='". $column . "' /><br>"; 
        }
        $firstrow = true;
        }
        }
    ?>
</html>


如果要显示复选框的标题,则应使用标签。值属性在向页面提交表单时使用(以名称-值对的形式)。为了使某一天的复选框保持勾选状态,必须在checkbox元素中使用checked属性

<?php    
   $firstrow = false;
   while ($row = mysqli_fetch_assoc($res_skill)){
     if (!$firstrow) {
        foreach ($row as $column => $value) {
           echo "<label for='".$column."ID'>".$column."</label>";
           echo "<input type='checkbox' name='data[]' id='".$column."ID' value='". $column . "'";
           if($value==1){
              echo " checked='checked'";
           }
           echo "/><br>"; 
        }
        $firstrow = true;
     }
   }
?>

如果要显示复选框的标题,则应使用标签。值属性在向页面提交表单时使用(以名称-值对的形式)。为了使某一天的复选框保持勾选状态,必须在checkbox元素中使用checked属性

<?php    
   $firstrow = false;
   while ($row = mysqli_fetch_assoc($res_skill)){
     if (!$firstrow) {
        foreach ($row as $column => $value) {
           echo "<label for='".$column."ID'>".$column."</label>";
           echo "<input type='checkbox' name='data[]' id='".$column."ID' value='". $column . "'";
           if($value==1){
              echo " checked='checked'";
           }
           echo "/><br>"; 
        }
        $firstrow = true;
     }
   }
?>

您希望在哪里看到标题?我还没有将标题放在输入标记之后,因为我不知道如何做。标题应该是我的表中的列名。ETA:当我将$column放在输入标记之后时,会出现标题。主要问题是,如果$value为1,我如何显示复选框?列名存储在
$Column
中,不是吗?那么问题出在哪里呢?当我把$column放在input标记后面时,会出现标题。主要问题是,如果$value为1,如何将框显示为选中状态?这可能只是一个正确设置所有“s”和“s”的问题。请使用
checked
attrubit作为
input
标记。您希望在哪里看到标题?我还没有将标题放在input标记之后,因为我不确定如何操作。标题应该是我的表中的列名。ETA:当我将$column放在输入标记之后时,会出现标题。主要问题是,如果$value为1,我如何显示复选框?列名存储在
$Column
中,不是吗?那么问题出在哪里呢?当我把$column放在input标记后面时,会出现标题。主要问题是,如果$value为1,如何将框显示为选中状态?这可能只是一个正确设置所有“s”和“s”的问题。请为
input
标记使用
checked
attrubit。默认情况下,我不希望保持星期一处于选中状态,我希望在该特定ID的列的值为1时选中“星期一”框。对于任何其他ID,它可以是0。给你。我已经添加了更改。默认情况下,我不希望保持“星期一”处于选中状态,如果该特定ID的列的值为1,我希望选中“星期一”框。对于任何其他ID,它可以是0。给你。我已经添加了更改