gpt4 book ai didi

php - 为教程博客创建面包屑菜单导航的技巧

转载 作者:行者123 更新时间:2023-11-30 01:33:32 25 4
gpt4 key购买 nike

最近我做了一个博客,即编程教程博客

您能给我一个创建这样的菜单导航的逻辑吗:

Java >> 框架 >> Struts2

我必须为此使用什么逻辑?我很困惑地想,这个逻辑是否发生在SQL查询中?

<小时/>

我正在使用:Codeigniter,php,My sql

我的数据库结构是这样的:

 Table: menu
---------------
id PK(primary key)
menu_name .....
content longtext
parent_id int(key to id) Foreign key

这是表中存储的数据的示例:

Example
----------------
id | menu_name | content | parent_id
----------------------------------------
1 | main 1 | this is main menu 1 | 0 <-- First level menu
2 | main 2 | this is main menu 2 | 0 <-- First level menu
3 | submenu 1 | this is main menu 1's first submenu's item 1 | 1 <-- Second level menu
4 | submenu 1 | this is main menu 1's first submenu's item 2 | 1 <-- Second level menu
5 | submenu 2 | this is main menu 2's first submenu's item 1 | 2 <-- Second level menu
6 | submenu 1-1 | this is submenu 1's first submenu's item 1 | 3 <-- Third level menu
7 | submenu 1-2 | this is submenu 1's first submenu's item 2 | 3 <-- Third level menu

最佳答案

其中一个想法是......

代码未经测试,但应该可以让你继续......

public function get_crumbs($id, $crumbs=array()) {
$query = $this->db->query("select menu_name, parent_id from mytable where id=?", array($id));
$row = $query->row_array();
$crumbs[] = $row['menu_name'];

if($row['parent_id'] == 0) {
krsort($crumbs); //sort array in descending order
$crumbs_str = implode(' >> ', $crumbs);
return $crumbs_str;
} else {
$this->get_crumbs($row['parent_id'], $crumbs);
}
}

将此函数添加到您的模型类 Page_model.php

在您的 Controller 文件中包含您的模型,例如;

$this->load->model('Page_model', 'page_model');

//Get ID

$id = $this->uri->segment(4);
$data['crumbs'] = $this->page_model->get_crumbs($id);

//Load your view
$this->load->view('content', $data);

//In your view file

echo '<p><strong>'.$crumbs.'</strong></p>';

关于php - 为教程博客创建面包屑菜单导航的技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17183378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com