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


MySQLi - select sub menu item from db if parentid same as top menu item id

我有一个包含顶部和子项目的菜单。所有的项、顶部项和子项在数据库中都有一个唯一的"id"和一个"parentid"。顶部项目,所有项目都有"parentid"0"作为值,子项目的"parentid"与它们对应的顶部项目的"id"相同。

有没有办法从数据库中选择菜单,使其在页面上看起来像这样?

顶部项目1-我自己的子项目1,我自己的个子项目2,我自己子项目3

顶部项目2-我自己的子项目1,我自己的个子项目2,我自己子项目3

顶部项目3-我自己的子项目1,我自己的个子项目2,我自己子项目3

等等。

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

您需要在顶部菜单和子项之间有父子关系,因此您需要在子项表中创建一个额外的列,例如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;

第二次查询(嵌套In While循环)

SELECT * FROM sub_menu WHERE main_menu_id = $looped_id;