如何从mysql数据库填充下拉列表并且不应该重复值
Posted
技术标签:
【中文标题】如何从mysql数据库填充下拉列表并且不应该重复值【英文标题】:how to populate drop down list from mysql database and should don't repeat values 【发布时间】:2019-08-05 04:01:30 【问题描述】:我从 mysql 数据库填充下拉列表,它不应该包含重复的值。
我尝试使用 distinct 关键字但未能使用。我应该使用什么逻辑?
示例: 我在下拉选项中有两个学士学位和两个机械学士学位,我想在其他课程中显示一个学士学位和一个下拉列表。
我的 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();
这是表格文件或结构
这是我的前端下拉选项
【问题讨论】:
在您的 SQL 查询中,在id
字段之前添加 DISTINCT
。
@Pupil 如何在 id 字段前添加 DISTINCT。
***.com/a/656710/1841760
@Pupil 如何在我的代码中做到这一点......我的代码哪里错了
【参考方案1】:
您可以在 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();
【讨论】:
调用未定义的方法 CI_DB_mysqli_result::group_by() @DiwakarYadav 我编辑了我的查询。请检查一下以上是关于如何从mysql数据库填充下拉列表并且不应该重复值的主要内容,如果未能解决你的问题,请参考以下文章
Excel Add-On 显示来自(Mysql 数据库)的数据