使用php循环遍历递归数据库表

使用php循环遍历递归数据库表,php,mysql,recursion,Php,Mysql,Recursion,其思想是将所有网页数据(标题、描述、打开的图形标记等)保存到数据库表中。当然,有些页面应该是其他页面的子页面。例如,在“服务”项下应该有“营销”和“摄影” 为了简化起见,假设该表如下所示: 网页精灵 头衔 亲缘关系 我需要找到一种方法循环遍历所有这些数据,并使用PHP打印HTML列表: <ul> <li>home</li> <li> services <ul>

其思想是将所有网页数据(标题、描述、打开的图形标记等)保存到数据库表中。当然,有些页面应该是其他页面的子页面。例如,在“服务”项下应该有“营销”和“摄影”

为了简化起见,假设该表如下所示:

  • 网页精灵
  • 头衔
  • 亲缘关系
我需要找到一种方法循环遍历所有这些数据,并使用PHP打印HTML列表:

<ul>
    <li>home</li>
    <li>
        services
        <ul>
            <li>marketing</ul>
            <li>photography</ul>
        </ul>
    </li>
</ul>
  • 服务
    • 营销
  • 摄影
我正在尝试构建一个应该是可重用的系统,并且没有办法知道递归的深度,所以我需要一种方法来确保我检查了所有内容

在彼此之间使用foreach循环似乎不是最好的解决方案


提前感谢。

基本上,您正在处理分层数据。递归(或多个循环中的多个循环)不是解决方案,因为您不希望只为了显示导航列表而运行无休止的SQL查询。如果你看一下,你会发现有两种方法/结构可以使用。
邻接列表模型
嵌套集模型

嵌套集模型
如下所示:


本文中有许多示例查询,您可以查看和使用。

基本上,您处理的是分层数据。递归(或多个循环中的多个循环)不是解决方案,因为您不希望只为了显示导航列表而运行无休止的SQL查询。如果你看一下,你会发现有两种方法/结构可以使用。
邻接列表模型
嵌套集模型

嵌套集模型
如下所示:


这篇文章中有很多示例查询,您可以查看和使用。

恐怕没有什么我感到自豪的。恐怕没有什么我感到自豪的。@AgRizzo哇!复制并粘贴了错误的标题。谢谢你指出这一点。虽然我还没能解决我的问题,但你提供的链接读起来很有趣。谢谢@阿格里佐啊!复制并粘贴了错误的标题。谢谢你指出这一点。虽然我还没能解决我的问题,但你提供的链接读起来很有趣。谢谢