PHP/MySQL のカテゴリ階層
このシナリオでは、MySQL からカテゴリとサブカテゴリの階層表現を取得することを目的としています。データベース。私たちの目的は、データベース内の実際の階層を反映するネストされた形式でデータを構造化することです。
これを達成するために、単一パスで階層を生成できる隣接リスト モデルを活用します。 PHP スクリプトを利用してデータを処理し、階層表現を構築します。
最初のステップでは、データベースにクエリを実行して、カテゴリとサブカテゴリをそれぞれの親子関係とともに取得します。データがフェッチされたら、すぐにアクセスできるように参照の配列を作成します。
次に、取得したデータをループして参照配列に値を設定します。ルート カテゴリ (parent_id = 0) を特定し、リスト配列に追加します。サブカテゴリの場合、それらを参照配列内の対応する親カテゴリに子として追加します。
階層出力を生成するには、参照配列を走査して、ネストされた HTML 順序なしリスト (UL)。この関数は配列を入力として受け取り、UL 要素を作成します。
関数内で、配列を反復処理し、カテゴリごとに LI (リスト項目) 要素を作成します。カテゴリに子がある場合は、toUL() 関数を再帰的に呼び出してサブツリーを構築します。この関数は、構築された階層の HTML 表現を返します。
このメソッドを使用すると、カテゴリ階層をネストされた形式で効率的かつ正確に表現でき、HTML ドキュメントとして簡単にレンダリングしたり、さらなる処理に使用したりできます。
以上がPHP/MySQL でカテゴリ階層を取得および構造化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。