我想弄清楚如何使用php显示嵌套的MySQL数据。我设法把所有的“叶节点”放在一边,但后来我被困住了。我需要显示一棵整棵树以及它所有元素的关系。 这里的表如何使用PHP显示分层的“嵌套SET”数据?
category_id, name, lft, rgt
1 Saws 1 12
2 Chainsaws 2 7
3 Red 3 4
4 Yellow 5 6
5 Circular saws 8 9
6 Other saws 10 11
下面是代码:
$query = 'SELECT node.name, node.lft, node.rgt
FROM item_cats AS node,
item_cats AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt AND parent.name = "' . SAWS . '"
ORDER BY node.lft';
$result = mysql_query($query, $db) or die (mysql_error($db));
while ($row = mysql_fetch_assoc($result)) {
if ($row['rgt'] == $row['lft']+1) {
echo '==>';
}
echo $row['lft'];
echo $row['name'];
echo $row['rgt'];
echo '<br />';
echo '<br />';
}
而这就是我得到:
1Saws12
2Chainsaws7
==>3Red4
==>5Yellow6
==>8Circular saws9
==>10Other saws11
什么是RGT和LFT? – 2013-03-18 07:26:15
@AdamPlocher [嵌套集模型](http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/),向下滚动到'嵌套集模型'标题,第一位是关于不同的技术 – Stu 2013-03-18 07:27:55
啊有趣。谢谢 – 2013-03-18 07:29:46