ここに例があるような db テーブル レイアウトがあります http://blog.ideashower.com/post/15147134343/create-a-parent-child-array-structure-in-one-pass
また、そのサイトのコードを適用して、メニュー項目の完全なツリーを作成しました
ただし、選択した親からツリーの出力を開始するときにスクリプトを変更する方法に完全に行き詰まっています。したがって、そのリンクの表の例を使用して、北米のメニュー項目のサブツリーを表示できるようにしたい (ただし、北米自体は表示しない)。パラメータ(親ID)をその関数に渡し、 $thisref 配列を操作する必要があることはわかっていますが、正確にどのように
$refs = array();
$list = array();
$sql = "SELECT item_id, parent_id, name FROM items ORDER BY name";
$result = mysql_query($sql);
while($data = @mysql_fetch_assoc($result)) {
$thisref = &$refs[ $data['item_id'] ];
$thisref['parent_id'] = $data['parent_id'];
$thisref['name'] = $data['name'];
if ($data['parent_id'] == 0) {
$list[ $data['item_id'] ] = &$thisref;
} else {
$refs[ $data['parent_id'] ]['children'][ $data['item_id'] ] = &$thisref;
}
}