我有一个包含顶级和子项的菜单。所有项目,顶部和子项目在数据库中都有唯一的“id”和“parentid”。热门商品都有“parentid”“0”作为价值,子商品的“parentid”与他们对应的顶级商品的“id”相同。
有没有办法从数据库中选择菜单在页面上看起来像这样?
Top Item 1 - My Own Sub Item 1,My Own Sub Item 2,My Own Sub Item 3
Top Item 2 - My Own Sub Item 1,My Own Sub Item 2,My Own Sub Item 3
热门项目3 - 我自己的子项目1,我自己的子项目2,我自己的子项目3
等
我是数据库新手,我尝试了一切,但我无法得到我想要的东西.. 谢谢你的帮助!
答案 0 :(得分:1)
您需要在顶级菜单和子项之间建立父子关系,因此您需要在子项目表中创建一个额外的列,例如main_menu_id
,在执行此操作后,您需要指定主菜单的id
到该列中的子菜单项。
稍后您将需要使用PHP的嵌套while循环,并且必须相应地获取记录。
/* Loop Top Items Starts
Loop Inner Items (Fetch Sub Items Having ID Of The Main Item)
Loop Top Items Ends
*/
第一次查询
SELECT * FROM main_menu;
第二个查询(嵌套在循环中)
SELECT * FROM sub_menu WHERE main_menu_id = $looped_id;