ユーザー側と管理者側の2つの部分からなるWebサイトがあります。管理者側では、フォームを作成するオプションがあります。フォームには、任意の数のテキストボックスとドロップダウンを追加できますが、問題は、フォームを作成した後、テキストボックスデータを追加したり、データベースにデータをドロップダウンしたりするために、ある形式では5つのテキストボックスを作成でき、別の形式では10個のテキストボックスを作成できます。解決策を教えてください。
2 に答える
管理者が作成するフォームごとに個別のテーブルを作成できます。次に、そのフォームにユーザーが入力したデータをそのテーブルに保存できます。管理者が5つのテキストボックスを持つ1つのフォームと、2つのテキストボックスを持つ別のフォームを作成する場合は、個別のテーブルを作成します。タスク。一度にアクティブにするフォームが1つだけ必要な場合は、テーブルの変更クエリを使用して既存のテーブルを変更するか、古いテーブルを削除して新しいテーブルを追加することができます。
任意の数の入力フィールドを使用して任意の数のフォームを作成できる場合は、フォームデータをテキストとしてシリアル化された配列の形式で格納するのがおそらく最善です。
phpserialize
を使用unserialize
して、配列を変換し、シリアル化された配列を再変換できます。
たとえば、テーブルにリンクされている外部キーとしての列entries
と、データをとして格納する列を使用して、テーブルを作成できます。そうすれば、あらゆる種類のフォームをサポートできますform_id
form
form_data
serialized array
この解決策は、実際には後でデータをどのように使用するかによって異なります。SQLでフィルタリングするのはそれほど簡単ではないからです。