【问题标题】:how to display selected multiple dropdown values in edit page in CodeIgniter如何在 CodeIgniter 的编辑页面中显示选定的多个下拉值
【发布时间】:2021-12-22 08:37:27
【问题描述】:

如何在 CodeIgniter 的编辑页面中显示选定的多个下拉值

值没有显示在编辑页面的多个下拉列表中

这是在db中检索数据的方法

<?php $assignuserstable = $this->db->get_where('assignuserstable',array('user_id'=>$user_id))->row_array(); ?>

 <div class="form-group col-md-6">
                        <label for="admin_id"><?php echo get_phrase('Assign User'); ?>
                            <span class="text-danger">*</span></label>
                        <select class="form-control selectpicker" name="admin_idd[]" id="admin_id"
                            placeholder="Assign User" required multiple>

                            <option value="" hidden><?php echo get_phrase('Select User'); ?></option>
                            <?php
                        $system_usertable = $this->db->get('system_usertable')->result_array();
                        foreach($system_usertable as $row2):
                        ?>
                            <option value="<?php echo $row2['admin_id'];?>"
                                <?php if($assignuserstable['admin_id'] == $row2['admin_id'])echo 'selected';?>>
                                <?php echo $row2['first_name'];?>
                            </option>
                            <?php
                        endforeach;
                        ?>
                        </select>
                    </div>

这就是将多个数组添加到数据库中的方式

型号

  public function addclientdetails(){

$data['business_name']         = html_escape($this->input->post('business_name'));
$data['legal_name']         = html_escape($this->input->post('legal_name'));
$data['status']         = html_escape($this->input->post('status'));
$data['rating']         = html_escape($this->input->post('rating'));
$data['SU_id'] =html_escape($this->input->post('admin_id'));
date_default_timezone_set("Asia/Kolkata");
$data['created_at'] =  Date('Y-m-d h:i:s');   
$data['created_by']         = $this->session->userdata('admin_id');

  $this->db->insert('user_table', $data);

    $insertId = $this->db->insert_id
    $admin_idd =html_escape($this->input->post('admin_idd'));
    $result = array();
        foreach($admin_idd AS $key => $val){
             $result[] = array(
              'user_id'   => $insertId,
              'admin_id'   => $_POST['admin_idd'][$key],
              'user_type'   => html_escape($this->input->post('user_type')),
             );
        }    

        $this->db->insert_batch('assignuserstable', $result);  
        $insertId = $this->db->insert_id();
    return  $insertId;
   
}

【问题讨论】:

  • if($assignuserstable['admin_id'] == $row2['admin_id']) - 什么是$assignuserstable?此时似乎没有设置?
  • db->get_where('assignuserstable',array('user_id'=>$user_id))->row_array(); ?>
  • 太好了 - 但代码在哪里? :-) 请编辑您的问题并显示。它是否设置在某个地方,以便变量可用并在您的视图中工作?

标签: php codeigniter


【解决方案1】:

如果您不共享代码,则无法识别问题。请分享您的型号和控制器。 首先请 echo $system_usertable 和 $row2 并检查是否有数据。 你的选项应该是这样的

<option value="<?php echo $row2['admin_id'];?>" <?php echo (isset($assignuserstable['admin_id']) && $assignuserstable['admin_id'] == $row2['admin_id'])? 'selected' : NULL; ?>><?php echo $row2['first_name'];?></option>

【讨论】:

    猜你喜欢
    • 2016-03-06
    • 2022-01-04
    • 2014-05-24
    • 1970-01-01
    • 2020-03-06
    • 2021-09-12
    • 2022-01-21
    • 2019-12-09
    • 2015-08-23
    相关资源
    最近更新 更多