(やや) 特定のシナリオで PHP を使用して、2 つのページ (ページ A からページ B) にデータを渡す最良の方法を見つけようとしています。
ページ A:タイトル付きの画像のギャラリー。このページを作成するには、PHP ファイルで、画像 ID、画像の場所、および画像のタイトルを保持する images テーブルに対してデータベース呼び出しを行います。テーブルに存在するすべての画像を取得し、for ループを使用してそれらをすべて画面にエコーします。ページ B を指す各画像のアンカー タグに href を作成します。
ページ B:画像の拡大表示。ユーザーがページ A の画像をクリックすると、画像が大きく表示された新しいページに移動します。
これを実現するために、私は現在、ページ A の画像を含む各アンカーに、画像 ID を含むパラメーターを使用して href を配置しています。次に、ページ B で、渡された ID を使用して別のデータベース呼び出しを行い、画像のタイトル、場所などを再度取得します。
前のページで必要なデータをすべて取得した後で、2 回目のデータベース呼び出しを行うのは間違っているように思えます。私の考えでは、私にはすべてが悪いと思われる適切なオプションが3つしかありません。
複数のデータベース クエリ- 上で説明したように。効率が悪いようです。
GET - ページ A の href に画像 ID を含めるだけでなく、必要なすべてのパラメーターを href に含めます。実際には 3 つ以上のパラメーターがあり、15 以上の値を渡す必要がある場合があることに注意してください。これほど巨大な URL を持っていて、URL に画像の場所などを渡すのは間違っているようです。
POST - の方法で各画像のページにフォームを用意します
POST
。Page A
にフォームから渡す必要がある各パラメータのフォームに隠しフィールドを配置しますPage B
。繰り返しますが、不要なマークアップを大量に持つことは、私には本当に悪い考えのように思え、非常に面倒になります。
これらの方法のいずれか、またはより良いアイデアについて意見を持っている人はいますか? 開発が進むにつれて、効率性と、同じことを何度も行うデータベース呼び出しを何度も行うことが自分にとって意味をなさないことに疑問を抱くようになります。1 つの画像に対して 1 つのデータベース呼び出しを 1 回行うことができ、そのセッションで再度行う必要がないようにしたいと考えています。
JavaScript / jQuery
(私にとってはオプションであることに注意してください)
ありがとう!