私は、MySQLデータベースからページとその親ページのリストを返して、すべての結果を次のように配列に入れます。すべての結果は、フォーラムの親、名前、およびIDを含む配列です(配列ページのキーもページIDと同じです)。リストからPHPビルド再帰配列
モデルとアプリケーションのために、いくつかの他のパラメータがあります。
- "ルート・ページは、" 何の孤立したページ
はそうはありません0
pages=>
[1] => array(id=>1,
parent=>0,
name=>Hello World)
[2] => array(id=>1,
parent=>1,
name=>Child of Hello World)
[3] => array(id=>1,
parent=>0,
name=>Brother of Hello World)
[4] => array(id=>4,
parent=>2,
name=Grand-child of Hello World)
[6] => array(id=>6,
parent=>4,
name=Great-grand-child of Hello World)
私はその後、私は私のサイトマップを印刷できるように、ネストされた多次元配列にリニアアレイを有効にする、だから、基本的にこの
pages=>
[1] => id=>1,
name=>Hello World
children=>
[2] => id=>1
name=>Child of Hello World
children=>
[4] =>
id=>4
name=> Grand-child of Hello World)
children=>
[6] =>
id=>6
name=> Great-grand-child of Hello World
children= null
[3] => array(id=>1,
name=>Brother of Hello World
children=>null
のように見えるものに、配列を変換したいです。
これは再帰的な解決策である必要があります。 700ページ以上、最大5または6レベルがあります。
私は1つのmysqlクエリを行いたいです。 700ではないので、私にはMySQLベースのソリューションを教えてください。
お好みの検索エンジンを使用して、両方のループは、配列の各要素を正確に一度に見ることを示すことができるため、「MySQLのネストされたセット」 – knittl