0

MySqlに保存するデータについて質問があります。次のようなものを保存するためのより良い方法は何でしょうか。

ユーザーがさまざまなカスタマイズ可能なフォームフィールドを保存できるアプリケーションを作成しようとしています。たとえば、連絡先フォームが必要な場合は、[差出人]テキストフィールド、[件名]ドロップダウンフィールド、[メッセージ]テキストエリアフィールドを使用してフォームを作成できます。フォーム要素。さらにそれに加えて、ユーザーは名前、値、またはその他のフォーム属性をフィールドに設定できます。

しかし、この情報を保存するためのより良い方法は何でしょうか。たとえば、ユーザーがコンテンツを簡単に変更したり、使用したりするための動的なフォームを簡単に取得して作成できるようにするためです。

私はそれらを保存する2つの方法についてしか考えることができませんでした:

  1. ID、フォーム、要素、名前、値などのスキーマを持つテーブル内

    element_id | form_id | 要素| 名前| 値|
    1 | 1 | テキストフィールド| に| null |
    2 | 1 | selectbox | 件名| 一般、サポート|

  2. データ型がBLOBであるテーブル内のフィールドとして、シリアル化データとして格納できます

親切なアドバイス。ありがとう。

4

2 に答える 2

1

ええと、私自身、自分のデザインでシリアル化されたデータを使用したくないのです。しかし、それは本当にあなたがそれで何をするかに依存します。

浮き沈みを説明しているこのブログ記事を見つけました。これはあなたの決定に役立つかもしれません。

于 2012-04-07T11:12:12.520 に答える
0

まあ私は良い考えを持っていますが、それは異なるテーブルを含みます。最初に、フィールドid、field_nameを使用してテーブルForm_fieldsを作成します。2番目のテーブルID、属性を使用して属性を作成します。3番目のテーブルField_attributesをid、form_field_id、およびattribute_idで作成します。これはリレーションテーブルです。次に、phpとmysqlを使用してバックエンドを実行します。

于 2012-04-07T11:09:23.613 に答える