OOP (まだ学習中) PHP で独自の単純なギャラリー スクリプトを作成中です。
現在のギャラリー スクリプト (Gallery2) はリソースを大量に消費するため、最も効率的な方法でデータベースからアルバムを取得しようとしています。現在のギャラリーには約 35,000 のアイテムと約 100 のアルバムがあります。
(出典: iforce.co.nz )
上の画像でわかるように、無制限のサブアルバムが必要です (実際には、おそらく最大で 5 ~ 6 個のみです)。
データベースのレイアウトは、画像を表示するだけなので非常にシンプルです。
アルバムテーブル album_id (int/auto_increment) album_parent (int) album_name (tingtext)
アイテムテーブル item_id (int/auto_increment) item_album (int) item_name (int)
私が思いついたいくつかのクエリは、WHERE ステートメントを使用し、親アルバム ID を使用することに基づいています。
親 ID 0 = 最上位の親 ID 3 は、その ID を親とするすべてのアルバムを取得します。
私が抱えている問題は、アルバム (album_1/subalbum_1/etc) の名前とサブアルバムを使用してブレッドクラムと URL を作成したいのですが、現在のクエリを使用してそれらを一度にプルすることはできません。
何かを見落としていない限り、URL は script.php?album_id=1&album_id=3&album_id=6 のようにして、1 がトップレベル、3 がサブ、6 が 3 のサブであるかのようにそれらを取得する必要があります。
階層のセットアップに関する多くの記事を読みましたが、ほとんどはツリー階層レイアウトを対象としています。単一のパス階層に向けて、アルバムごとにすべてのアルバムのサブアルバムを一度に表示する必要はありません。
ありがとう
編集 アルバム名にはどんな名前でも付けられること、日付は実際のタイムスタンプではなく名前付けにのみ使用されたことを指摘しておく必要があると思いました。申し訳ありません