PHP / HTML为带有父ID和子级的网店类别创建一个下拉列表


PHP / HTML creating a dropdown for webshop categories with parent ID and childs

我现在正忙着做一个不同类别的网上商店,还有不同的家长ID。我的数据库结构如下:

ID -

名称 - 父 ID:

1 - 游戏 - 0

2 - 电影 - 0

3 - 类型 - 1

4 - 类型 - 2

5 - 动作 - 3

6 - 历史 - 4

现在在管理部分,当我想添加一个类别时,我想在下拉列表中显示我的所有类别,但我希望将父级和子级分开。有没有简单的方法可以做到这一点?

问候埃里克

我不确定"希望将父 ID 和子 ID 分开"是什么意思。 了解select中的元素只不过是显示值和数据值,数据值将与字段名称一起发送到服务器。

因此,select无法真正区分多种数据值。 例如,每个option不能有多个 ID。 您所能做的就是设置显示值的格式以包含 ID(例如"1 - 游戏 - 0"等),并确定哪个数据值应该是select中该option的值。

您可以做的一件事是使用 optgroup 标记对option元素进行分组。 像这样:

<select name="myOptions">
  <optgroup label="Category 1">
    <option value="1">First Choice</option>
    <option value="2">Second Choice</option>
    <option value="3">Third Choice</option>
  </optgroup>
  <optgroup label="Category 2">
    <option value="4">Fourth Choice</option>
    <option value="5">Fifth Choice</option>
  </optgroup>
  <optgroup label="Category 3">
    <option value="6">Sixth Choice</option>
    <option value="7">Seventh Choice</option>
  </optgroup>
</select>

在验证中,浏览器不应允许用户选择组,他们必须选择一个实际选项。 所以你不必担心这一点。 这确实为更分层地显示值提供了一些额外的灵活性。 但是,请理解,在这种情况下只允许一个级别的选项嵌套。 (因此,一个optgroup不能包含另一个optgroup