MySQLi - 如果parentid与顶部菜单项id相同,则从db中选择子菜单项

时间:2013-06-25 12:10:50

标签: php select menu mysqli parent

我有一个包含顶级和子项的菜单。所有项目,顶部和子项目在数据库中都有唯一的“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

我是数据库新手,我尝试了一切,但我无法得到我想要的东西.. 谢谢你的帮助!

1 个答案:

答案 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;