rree
PHP を使用して作成されたツリービューがあります。ツリービューを抽出する関数は、カテゴリとそのサブカテゴリを正しく抽出します。データベース内のカテゴリ テーブルには、指定された値 (1/0) を保持する列があります。1 はメイン カテゴリを表し、0 はサブカテゴリを表します。私が直面している問題は、データベースからカテゴリを取得するときに、そのカテゴリがメイン カテゴリであるかサブカテゴリであるかに違いがないことです。これらはすべて li 要素として表示され、ツリー ビューで CSS 書式設定を使用してリスト項目にフォルダー アイコンを作成しています。問題は、カテゴリ テーブルの値 1 を持つメイン カテゴリを、開いて中のコンテンツを表示できるフォルダ アイコンを含む ul 要素として表示する方法です。カテゴリ テーブルの値 0 のサブカテゴリは、li として表示される必要があります。 [任意のフォルダー] アイコンのない要素 (サブカテゴリ名のみがテキストとして表示されることを意味します)。
私の出力
図に示すような出力を取得する必要があります。
アイテムがメイン カテゴリであるかサブカテゴリであるかを考慮してコードを変更することをお勧めします。
「指定した値 (1/0) を含む列を保存します。1 はメイン カテゴリを表し、0 はサブカテゴリを表します。」 - 列の名前は
リーリーtype
であると仮定します。これで、CSS を使用して、
に一致するサブカテゴリ ノードのスタイルを設定できるようになります。li.type0
データベース クエリを再帰関数に入れるのではなく、データベースのクエリを 1 回だけ行うことをお勧めします。
メニュー項目の主な位置 (タイプ値 0/1 に基づく) を確認する必要があります。これにより、class='main' がメイン プロジェクトに追加され、CSS を使用してメイン アイコンのスタイルを設定できるようになります。この変更を試してみましょう。
リーリー