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

时间:2015-07-17 10:14:42

标签: php mysql codeigniter checkbox foreach

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

这适用于Plan_data

employee

这是针对任务数据的复选框[这里我想显示复选框列表,其中任务被赋予plan_id,它们显示为面颊复选框,剩余列表未检查状态)

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

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

<?php  }  ?>

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

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

我希望使用选定的某个任务来预览task_name列表,因为映射了plan_id。

5 个答案:

答案 0 :(得分:1)

最后我找到了它

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

答案 1 :(得分:0)

只需添加支票:

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

答案 2 :(得分:0)

使用CI的set_checkbox

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

首先,我们将采用所有类别而不是我们获取ID并使用它来显示数据库中的选中列表。首先,我们根据Id选择表值,而不是获取记录。我们使用数据库列中的数据,使用逗号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>";
        }

    }