首页 > 解决方案 > 如何从 mysql 数据库中填充下拉列表并且不应该重复值

问题描述

我从 mysql 数据库填充下拉列表,它不应该包含重复的值。

我尝试使用 distinct 关键字但未能使用。我应该使用什么逻辑?

示例:
我在下拉选项中有两个 bsc 和两个机械学士学位,我想显示一个 bsc 和一个下拉列表,其他课程类似。

我的 codeigniter 查询无法正常工作。下拉选项是动态选择的。如何解决?

这是我的控制器

$courserecord = $this->front->get_data_wheree('tbl_course_offered.course_offrd_name');
$data['collg_id'] = json_decode(json_encode($courserecord), True);
if (empty($data['collg_id'])) {
  $data['collg_id'] = json_decode(json_encode($courserecord), True);
} else {
  $courserecord = $this->front->get_data_wheree('tbl_course_offered.course_offrd_name');
  $data['collg_id'] = json_decode(json_encode($courserecord), True);
}

这是我的视图文件

<div class="col-md-2">
  <div class="form-group">
    <div class="col-md-12">
      <select name="course_offrd_name" id="course_offrd_name" onchange='' class="form-control ui fluid dropdown">
        <option value="">Select Course</option>
        <?php foreach($coursedata as $val)
      {
      ?>
        <option value="<?php echo $val->course_id?>" <?php if(isset($course_offrd_name)) { if($course_offrd_name==$val->course_id) { ?>selected
          <?php } }?> >
          <?php echo $val->course_id;?>

        </option>
        <?php }?>
      </select>
    </div>
  </div>
</div>

这是我的模型文件

function get_data_wheree($table,$where)
{
  return $this->db->distinct($table,$where)->result();
}

这是表文件或结构

这是我的前端下拉选项

标签: phpmysqlcodeigniter-3

解决方案


您可以在 cat_id 上使用 group by 来获取唯一值。根据您的附件,cat_id 也会重复,并且对于相应的 course_id 相同。

function get_data_wheree($table,$where)
{
  $this->db->group_by("cat_id");
  return $this->db->get($table,$where)->result();
}

推荐阅读