在foreach得到foreach项目

时间:2017-11-14 14:44:09

标签: php mysql foreach

我有一个名为 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>

上面这段代码的作用是重复组名而不是在一个组下有所有类型

0 个答案:

没有答案