2017-01-02 1 views
1

ツリー構造を持つドロップダウンでカテゴリを表示しようとしています。私は構造以下テーブルのカテゴリをツリー構造で表示する

ID  Category  Level  Reference 
1  First   1   0 
2  Second   1   0 
3  Third   1   0 
4  First's child 1 2   1 
5  First's child 2 2   1 
6  Next level  3   5 

レベル

を持つテーブルを持っているこれは、階層レベルです。 levelが1の場合、最初のレベルと2は最初の子の子であり、以下同様です。

リファレンス

このフィールドは、親が誰であるかを示しています。それは親カテゴリIdの参照です。

私は次のように、このデータを表示したい:

First 
    First's child 1 
    First's child 2 
     Next level 
Second 
Third 

私は選択ボックスで、上記のようにデータを表示するにはどうすればよいですか?

+0

あなただけを探しているがそれをインデントする方法、または正しい順序でリストされたものを得る方法を見つける必要がある段階にいますか?既に共有しようとしているコードはありますか? – RST

答えて

1

次の例のように、このようなループを、その後、あなたのデータベースを介して、あなたのレベルとカテゴリ名を取得できます。

echo '<select>'; 
foreach ($yourResult as $result) { 
    echo '<option>'.str_repeat("&nbsp;",$result['level']).$result['category'].'</option>'; 
} 
echo '</select>'; 

See an example fiddle

ドク:http://php.net/manual/en/function.str-repeat.php

関連する問題