如何用php制作树状菜单

如何用php制作树状菜单,php,html,sql,Php,Html,Sql,我正在做一个菜单树。我的数据库中的表如下所示: | id | int(10) unsigned | NO | PRI | NULL | | | title | varchar(255) | NO | | NULL | | | parentId | int(10) unsigned | YES | | NULL | | | level | tinyint(3)

我正在做一个菜单树。我的数据库中的表如下所示:

| id        | int(10) unsigned    | NO   | PRI | NULL    |       |
| title     | varchar(255)        | NO   |     | NULL    |       |
| parentId  | int(10) unsigned    | YES  |     | NULL    |       |
| level     | tinyint(3) unsigned | NO   |     | NULL    |       |
| sortOrder | int(10) unsigned    | YES  |     | NULL    |       |
$test = connexion_DB($db);
$strSQL = "SELECT id, parentId, title, level FROM my_table ORDER BY title ASC";
$sql = requete_SQL($strSQL);
$categories = array();

while($row = mysql_fetch_array($sql)) {
    $categories[] = array(
      'parentId' => $row['parentId'],
      'level' => $row['level'],
      'title' => $row['title']
    );
} 
我的数据库连接正常。我做了一个这样的循环:

| id        | int(10) unsigned    | NO   | PRI | NULL    |       |
| title     | varchar(255)        | NO   |     | NULL    |       |
| parentId  | int(10) unsigned    | YES  |     | NULL    |       |
| level     | tinyint(3) unsigned | NO   |     | NULL    |       |
| sortOrder | int(10) unsigned    | YES  |     | NULL    |       |
$test = connexion_DB($db);
$strSQL = "SELECT id, parentId, title, level FROM my_table ORDER BY title ASC";
$sql = requete_SQL($strSQL);
$categories = array();

while($row = mysql_fetch_array($sql)) {
    $categories[] = array(
      'parentId' => $row['parentId'],
      'level' => $row['level'],
      'title' => $row['title']
    );
} 
…但我不知道怎么做树菜单?像这样:

<ul>
<li>Canins
    <ul>
    <li>Chiens</li>
    <li>Loups</li>
    </ul>
</li>
<li>Félins
    <ul>
    <li>Grands Félins
        <ul>
        <li>Lions</li>
        <li>Panthères</li>
        <li>Tigres</li>
        </ul>
    </li>
    <li>Petits Félins</li>
    </ul>
</li>
<li>Poissons
    <ul>
    <li>Requins</li>
    <li>Saumons</li>
    </ul>
</li>
</ul>
  • 犬齿
    • 简氏
    • 笨蛋
  • 费林
    • 大费林
      • 狮子
      • 潘塞雷斯
      • 老虎
    • 小Félins
  • 泊松
    • 安魂曲
    • 索蒙斯

有人有什么想法吗?

快速搜索谷歌找到了这个解决方案。您需要对数组进行递归查看,以获得最终解决方案。

您应该使用递归函数,您的mysql应该基于parentId进行选择