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

Posted

技术标签:

【中文标题】在codeigniter中的数据库中设置值时如何将复选框显示为选中状态【英文标题】:How to show checkboxes as checked when values are set in the database in codeigniter 【发布时间】:2015-10-07 00:54:03 【问题描述】:

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

这是为 Plan_data 准备的

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

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

<?php    ?>

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

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

我想用选定的一些任务作为映射的 plan_id 来搜索 task_name 列表。

【问题讨论】:

你从 7 月 14 日开始从事这个项目。我检查了你最后 4 个问题都来自这个项目。 是的先生...我的薪水取决于这个项目.. :) @Bugfixer @ankitsuthar 为什么没有在答案中给出反馈???天气是答案是否有效??? @ankitsuthar 听起来你一直是帮助吸血鬼:meta.***.com/questions/258206/what-is-a-help-vampire 【参考方案1】:

首先,我们将获取所有类别,而不是获取 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>";
        

    

【讨论】:

【参考方案2】:

终于找到了

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

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

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

【讨论】:

对不起先生.. 我试过这个,但我选中了所有复选框。 @Saty【参考方案5】:

只需添加一个检查:

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

【讨论】:

以上是关于在codeigniter中的数据库中设置值时如何将复选框显示为选中状态的主要内容,如果未能解决你的问题,请参考以下文章

如何在钩子中设置值

尝试在 NSMuableDictionary 中设置值时应用程序崩溃

当在另一个表中找到关联值时,Oracle 在列中设置值

Python属性在构造函数中设置值时不使用setter

从对象 php 的 jquery 数组中设置值?

加载商店后如何在网格中设置值? EXTJS3