当在 codeigniter 的数据库中设置值时如何显示复选框已选中

How to show checkboxes as checked when values are set in the database in codeigniter

我使用 foreach 来显示来自数据库的数据。

这是给 Plan_data

<?php foreach ($veddingPlanData as $row) { ?>

<input box with value containing "echo row->value_name" >

<?php  }  ?>

这是作为复选框的任务数据[这里我想显示将任务分配给plan_id的复选框列表,它们显示为 cheeked 复选框和未选中状态的剩余列表)

<?php foreach ($veddingPlanTaskMappingData as $row) { ?>
<input type="checkbox" name="task_id[]" value="<?php echo $row->task_id ;?>" checked><?php echo $row->task_name?><br>
<?php } ?>  

这里我在复选框中显示了整个任务列表。

<?php foreach ($allVedingTasks as $row) { ?>
<input type="checkbox" name="task_id" value="<?php echo $row->task_id ;?>" ><?php echo $row->task_name?><br>
<?php } ?>  

我想 foreach task_name 列表,其中选择了一些映射到 plan_id 的任务。

只需添加一个检查:

<?php
foreach ($veddingPlanTaskMappingData as $row) {
  $checked = ($row->task_id == YOUR_CONDITION) ? 'checked="checked"' : '';
?>
<input type="checkbox" name="task_id[]" value="<?php echo $row->task_id ;?>" <?php echo $checked?>><?php echo $row->task_name?><br>
<?php } ?>  

使用 set_checkbox 的 CI

<input type="checkbox" name="task_id" value="<?php echo $row->task_id ;?>" <?php echo set_checkbox('task_id', $row->task_id); ?> ><?php echo $row->task_name?>

首先在您的模型中获取数据库中复选框的值,然后在控制器中调用该函数并将该值传递给查看页面。然后对每个复选框项目使用 if 语句来检查值是否相同。如果条件匹配,则写入 echo "checked"; 命令。

终于找到了

 <?php
              $arrSelVedTask = array();
               foreach ($veddingPlanTaskMappingData as $row) { 
              $arrSelVedTask[$row->task_id] = '';
               }
            ?>


                                              <div class="form-group">

                                                  <lable for="task_id" class="control-label col-sm-12">Plan Task LIST:</lable>
                                                  <div class="col-sm-10">
                                                  <div class="checkbox" style="margin-left:40px;">

                                                  <?php foreach ($allVedingTasks as $row) { 

                  if(isset($arrSelVedTask[$row->task_id])) {
                      ?><input type="checkbox" name="task_id[]" value="<?php echo $row->task_id ;?>" checked ><?php echo $row->task_name; ?><br><?php
                  }
                  else{
                      ?><input type="checkbox" name="task_id[]" value="<?php echo $row->task_id ;?>" ><?php echo $row->task_name; ?><br><?php
                  }
               }  
                  ?> 

首先,我们将获取所有类别,而不是获取一个 Id 并将其用于显示数据库中的选中列表。首先我们 select 基于 Id 的 table 值,然后我们将获取记录。我们在数据库列中使用逗号 1,2,3,5,9 来获取数据。然后我们将它保存在数组中,最后我们只将该数组显示到页面上。

$table="select * from categorytable";
$this->result=mysqli_query($this->con,$table);
$this->count=mysqli_num_rows($this->result);
if($this->count < 1)
{
    return "<div class='form-group'>".$messages->getResponseMessage("No category is added.", "Warning")."</div>";
}
else
{
    $alert='';
$select="select Category from table where Id='$id'";
    $result=  mysqli_query($this->con, $select);
    $amrow=  mysqli_fetch_array($result);
    $getAminity=$amrow["Category"];
    $getArray=  explode(",",$getAminity);
    while($row=  mysqli_fetch_array($this->result))
    {
        if(in_array($row[Id],$getArray)){
            $alert.="<div class=col-md-2><label class='checkbox-inline'><input type=checkbox id='catval[]' checked name='catval[]' value='$row[Id]'/> $row[Name]</label></div>";
        }
        else
        {
            $alert.="<div class=col-md-2><label class='checkbox-inline'><input type=checkbox id='catval[]' name='catval[]' value='$row[Id]'/> $row[Name]</label></div>";
        }

    }