Php 修改的前序树遍历-每个子级只显示2个

Php 修改的前序树遍历-每个子级只显示2个,php,mysql,tree-traversal,Php,Mysql,Tree Traversal,我正在尝试找出如何使用MPTTD使用教程 $result = mysql_query('SELECT title, lft, rgt FROM tree '. 'WHERE lft BETWEEN '.$row['lft'].' AND '. $row['rgt'].' ORDER BY lft ASC;'); 根的lft=1,rgt=42 所以如果我用lft=1,rgt=42。。它会回来的 A A1 A2 A3 A4 B B1 B2 B3 B4 C C1 C2 C3 C4 D D1

我正在尝试找出如何使用MPTTD使用教程

$result = mysql_query('SELECT title, lft, rgt FROM tree '.  
'WHERE lft BETWEEN '.$row['lft'].' AND '.  
$row['rgt'].' ORDER BY lft ASC;');
根的lft=1,rgt=42 所以如果我用lft=1,rgt=42。。它会回来的

A A1 A2 A3 A4 B B1 B2 B3 B4 C C1 C2 C3 C4 D D1 D2 D3 D4

如何从这样的后代中仅检索第一个和第二个子代

A A1 A2 B B1 B2 C C1 C2 D D1 D2


谢谢您的帮助:)

您有两个选择。选项1:首先获取左右值。然后使用left和right值。从左=2和右=17的表格中选择*。选项2:要获取每个子体,可以使用left值和任意数量的子体,例如,left=2在left+2之间。例如:

   $result = mysql_query('SELECT title, lft, rgt FROM tree '.  
   'WHERE lft BETWEEN '.$row['lft'].' AND '. $row['lft']+2.' ORDER BY lft ASC;');

谢谢你的答复。。是的,使用left和right值将得到后代。但我只需要每个子代的前2个子代。您可以在left=2和left+2之间修改查询和搜索?