我有一个名为 paper_type 的表,另一个名为 paper_group ,现在每种纸张类型都放在一个纸质组下。这是我的表结构
paper_group: paper_group_id,名称
paper_type: paper_type_id,paper_group_id,名称
我正在尝试将纸张类型加载到多选中,但我希望将其按paper_group_id和paper_group名称分组以显示为optgroup值。我知道我可以在foreach中做一个foreach来实现这个目标,但我不知道这是否是完成任务的理想方式。有没有更好的方法来实现这一结果?
public function select_from_printtype(){
$que = $this->query("
SELECT *
FROM print_type a
JOIN print_type_group b ON a.print_type_group_id=b.print_type_group_id
ORDER BY b.print_type_group_id DESC
");
return $que;
}
选择
<select id="basic" multiple="multiple" class="selectpicker show-tick form-control" data-live-search="true">
<?php
$notarray = DataDB::getInstance()->select_from_printtype();
foreach($notarray as $row):
?>
<optgroup label="<?php echo $row['group'];?>">
<option value="<?php echo $row['print_type_id'];?>"><?php echo $row['name'];?></option>
</optgroup>
<?php endforeach; ?>
</select>
上面这段代码的作用是重复组名而不是在一个组下有所有类型