2

さまざまな情報の入れ物となる「パネル」を盛り込んだサイトを構築しています。パネルが編集可能になるように設定しました。これは、テキストのみを含むパネルの場合は簡単です。<p>そのために、データベースからコンテンツを取得し、タグではなくテキストエリアでラップします。ただし、テーブルビューを含むパネルの場合、これはより困難な作業であることがわかります。

まず、サイトの管理者が特定のテーブルにある情報を選択できるようにするのに問題があります(たとえば、管理者が各メンバーの名前、名前、写真から選択できるパネルビューを追加したい場合など)私のデータベースの列)。私はこれを行うためのいくつかの方法を考え出しましたが、それぞれに独自の問題があります。

私はINFORMATION_SCHEMAテーブルを使用して、ユーザーが選択できる可能なテーブルと列を含むテーブルを生成しようとしました。しかし、PDOを使用してクエリを作成する場合、問題が発生します。たとえば、プリペアドステートメントでは、スキーマに変数を使用することはできません。

MySQLビューを使用することも考えましたが、その方法も理解できないようです。

2番目の問題は、管理者がテーブルに行を直接追加できるようにすることです。現在、行の追加テンプレートが行うのは、各列にテキストフィールドを持つ行を作成することだけです。これは純粋なテキストオプション(名など)には適していますが、写真などの場合は明らかにテキストフィールドが機能しません。このメタデータを含むテーブルを作成する必要がありますか、それともPHPでチェックを実行する必要がありますか?後者の場合、列に必要な入力タイプをどのように知ることができますか?

私の主な問題は、1回の設計変更だけで(または一度に1つの問題に焦点を合わせずに)あまりにも多くのことを解決しようとしていることだと思います。その結果、私は非常に慌てて混乱しました。ヘルプをいただければ幸いです。データベーステーブルが現在どのように設定されているかなどの情報が必要な場合は、ERDを提供します。

編集:ユーザーがデータベース内のテーブルを実際に操作できるようにするのではなく、既存のテーブルから特定のパネルに表示される情報を選択できるようにすることを明確にしたかっただけです。

4

1 に答える 1

1

ユーザーがデータベースを自由にクエリできるようにコーディングすることには、多くの問題(セキュリティを含む)があり、定義された情報のセットを返すだけの事前定義された情報クエリよりもはるかに複雑です。

また、どの情報がユーザーに役立つかを定義する負担もあります。特定のユーザーが特定の情報にアクセスできるかどうかを決定する負担は、クエリロジックとデータベースアクセスルールにあります。

事実上、異なるデザインで定義されたデータベースのみをターゲットとしてPHPMyAdminをコピーしようとしています。

于 2012-11-24T20:08:11.720 に答える