Php 如何列出自关系表?
我有一张这样的桌子:Php 如何列出自关系表?,php,mysql,sql,Php,Mysql,Sql,我有一张这样的桌子: +----+-------+--------+ | id | title | parent | +----+-------+--------+ | 1 | text1 | NULL | +----+-------+--------+ | 2 | text2 | NULL | +----+-------+--------+ | 3 | text3 | NULL | +----+-------+--------+ | 4 | text4 | 1 |
+----+-------+--------+
| id | title | parent |
+----+-------+--------+
| 1 | text1 | NULL |
+----+-------+--------+
| 2 | text2 | NULL |
+----+-------+--------+
| 3 | text3 | NULL |
+----+-------+--------+
| 4 | text4 | 1 |
+----+-------+--------+
| 5 | text5 | 1 |
+----+-------+--------+
| 6 | text6 | 2 |
+----+-------+--------+
| 7 | text7 | 3 |
+----+-------+--------+
| 8 | text8 | 5 |
+----+-------+--------+
• text1
○ text4
○ text5
♦ text8
• text2
○ text6
• text3
○ text7
“父项”是“id”的外键
我想用html列出这些行
列表应如下所示:
+----+-------+--------+
| id | title | parent |
+----+-------+--------+
| 1 | text1 | NULL |
+----+-------+--------+
| 2 | text2 | NULL |
+----+-------+--------+
| 3 | text3 | NULL |
+----+-------+--------+
| 4 | text4 | 1 |
+----+-------+--------+
| 5 | text5 | 1 |
+----+-------+--------+
| 6 | text6 | 2 |
+----+-------+--------+
| 7 | text7 | 3 |
+----+-------+--------+
| 8 | text8 | 5 |
+----+-------+--------+
• text1
○ text4
○ text5
♦ text8
• text2
○ text6
• text3
○ text7
我需要sql_代码和php
谢谢…您应该了解:
请注意,本文推荐了一种不同于普通父id/id设置的方法。上面的MySQL代码非常优秀。。这是我为PHP代码所做的一点努力
while($lev = mysql_fetch_array($category)){
echo $lev['lev1'];
echo '<br>';
if($lev['lev2'] != NULL)
{
echo $lev['lev2'];
echo '<br>';
if($lev['lev3'] != NULL)
{
echo $lev['lev3'];
echo '<br>';
if($lev['lev4'] != NULL)
{
echo $lev['lev4'];
}
}
}
}
while($lev=mysql\u fetch\u数组($category)){
echo$lev['lev1'];
回声“
”;
如果($lev['lev2']!=NULL)
{
echo$lev['lev2'];
回声“
”;
如果($lev['lev3']!=NULL)
{
echo$lev['lev3'];
回声“
”;
如果($lev['lev4']!=NULL)
{
echo$lev['lev4'];
}
}
}
}
对于MySQL,您需要在应用程序代码中这样做,因为MySQL不支持递归查询(与大多数其他DBMS不同),为什么文本7在文本5下?为什么要发两次短信呢?你应该仔细阅读,这样会对你有帮助you@a_horse_with_no_name也许你应该把它加上;)如果水平不是像中那样恒定的呢