期待される結果を得ていない私はこのようになりますデータベースを持っている:値は、foreachループに等しくない場合は、何かをやろうとしたが、
私が使用して、このメニューからツリーを生成することができます次のコード:
function generateCategoriesTree($parent, $menu_array, $result = NULL)
{
foreach($menu_array as $key => $value):
if ($value['parent'] == $parent):
$result .= '<li>';
$result .= '<a href="#">' . $value['name'] . '</a>';
$result .= '<ul>';
$result .= $this->generateCategoriesTree($key, $menu_array);
$result .= '</li></ul>';
endif;
endforeach;
return $result;
}
:ここ
foreach($categories->result_array() as $category):
$menu_array[$category['id']] = array('name' => $category['name'], 'parent' => $category['parent'], 'id' => $category['id']);
endforeach;
echo '<ul>';
echo $this->tasks->generateCategoriesTree(NULL, $menu_array);
echo '</ul>';
とは、上記のコードは、呼び出す関数です
することになりました親カテゴリを取得している私の問題は、太字にするには:
それはこのようになります木を生成します。私のデータベースでは、親の行はNULL
という親の列を持っています。私は大胆なスタイルを適用してif ($value['parent'] !== $parent)
のようないくつかのことを試しましたが、うまくいきません。私は正直なところ、私の頭を包み込むことはできません。皆さんのお役に立てれば助かります。
奇妙な、私はこれを試して誓う。しかし、if($ value ['parent'] == NULL):文の直後にif($ value ['parent'] == $ parent)を追加したことに気付きました。しかし、はい、これは動作します!どうもありがとうございました! – dallen