在单台笨的多选多层次类别(Multi level category in multiselect o

2019-09-29 04:14发布

我试图从$形式 - 创建多级分类>多选()。
下面是我的表结构。

| id | parent |  name   |
|----|--------|---------|
| 10 |      0 | 'menu1' |
| 12 |     10 | 'menu2' |
| 13 |     10 | 'menu3' |
| 14 |      0 | 'menu4' |

其结果是

+----+---------+
| id |  name   |
+----+---------+
| 10 | 'menu1' |
| 12 | 'menu2' |
| 13 | 'menu3' |
| 14 | 'menu4' |
+----+---------+


的ID显示出对在选取元件显示值和名称。

<select>
  <option value='10'>menu1</option>
  <option value='12'>menu2</option>
  <option value='13'>menu3</option>
  <option value='14'>menu4</option>
</select>


没有表现出层次。我想下面显示。

<select>
      <option value='10'>menu1</option>
      <option value='12'>menu1 -> menu2</option>
      <option value='13'>menu1 -> menu3</option>
      <option value='14'>menu4</option>
    </select>

我该怎么办?
我想操纵$ form_multiselect结构()。

Answer 1:

我假设由格式的数据库,你在上面所列的表是你得到了它......如果这是你应得的尝试(你不发表您的表名,所以你就必须做即自己):

$result = $this->db->select('CASE WHEN b.name IS NOT NULL THEN CONCAT(a.name, ,\' -> \' b.name) ELSE a.name END AS option')
    ->from('yourtable a')
    ->join('yourtable b', 'a.parent = b.id', 'left')
    ->get()->result();

如果您的问题有误导我,我道歉......并没有太多去...



文章来源: Multi level category in multiselect of CodeIgniter with single table