我有這樣的表格菜單動態嵌套菜單php
我有問題要顯示像這樣的ul和li標籤像第二張圖片。 請幫我解決
menu_code | desc_code
1 |菜單1
1.1 |菜單1.1
1.2 |菜單1.2
1.2.1 |菜單1.2.1
2 |菜單2
我想用「無限級菜單」的概念顯示我的表格菜單。
我有這樣的表格菜單動態嵌套菜單php
我有問題要顯示像這樣的ul和li標籤像第二張圖片。 請幫我解決
menu_code | desc_code
1 |菜單1
1.1 |菜單1.1
1.2 |菜單1.2
1.2.1 |菜單1.2.1
2 |菜單2
我想用「無限級菜單」的概念顯示我的表格菜單。
我會考慮改變你的表格結構。你將需要遍歷每個父母和孩子,你不希望這樣做與字符串分割。我建議你創建一個額外的列parent_id並像這樣綁定你的項目。在那之後,它很容易通過它的子節點遞歸爬取來創建ul> li結構。
示例遞歸函數:
public static function buildTree($items, $parent_id = null) {
$result = [];
foreach($items as $item) {
if($item->parent_id == $parent_id) {
$children = self::buildTree($items, $item->id);
if($children) {
$item->children = $children;
}
$result[$item->id] = $item;
}
}
return $result;
}
那之後,你可以使用的生成函數的結果遞歸創建您的菜單結構:因此
public static function treeToHtml($tree, $level = 0) {
$result = '';
$result .= '<ul>';
foreach($tree as $item) {
$has_children = isset($item->children) && count($item->children) > 0;
if($has_children) {
$result .= '<li><a href="#">';
$result .= self::treeToHtml($item->children, $level + 1);
$result .= '</li>';
} else {
$result .= '<li><a href="#"></li>';
}
}
$result .= '</ul>';
return $result;
}
編輯功能和靜態都取決於上下文你正在使用它。
感謝Niek Van der Maaden ...你的邏輯非常有用:) –
那麼你有什麼嘗試?這不是一個代碼編寫網站 –
這裏的大多數人想要格式化文本,而不是圖片。 – jarlh