我有类别和子类别取自API json文件,API返回具有“父”属性的类别对象,主类别对象具有等于0的父属性,子类别对象具有等于主类别ID的父属性。
主要类别的代码是`
<label for="Category"> Main Category</label>
<select id="category">
<?php foreach ($obj as $category):?>
<?php if($category->parent==0) : ?>
<option value=<?=$category->id?>><?=$category->name?></option>
<?php endif; ?>
<?php endforeach; ?>
</select>
`$obj等于从API获取的json解码。
如何编写子类别的代码? 我希望在子类别->parent等于上面选择的所选类别“类别->id”的id的情况下创建选项
所以$obj是所有类别的列表。 有些是父母,有些是孩子(子类)?
有没有方法在API端嵌套类别,以便它在父对象上以var的形式返回子对象,或者为子对象创建一个单独的对象,您可以为每个父对象访问这些子对象?
如果这些都不是选项,那么可以在创建选择字段之前格式化类别,以便更干净地生成子类,或者在当前foreach中添加一个嵌套循环,检查类别是否是当前类别的子类。
这很难看,我还没有测试过它,但是您也许可以做如下操作:
foreach ($obj as $category) {
if ($category->parent==0) {
echo "<option value='" . $category->id . "'>$category->name</option>"
foreach ($obj as $subCategory) {
if ($subCategory->parent != 0 && $subcategory->parent == $category->id) {
echo "<option value='" . $subcategory->id . "'>$subcategory->name</option>"
}
}
}
}