ホームページ  >  に質問  >  本文

動的フォーム用にデータベースをどのように設計すべきでしょうか?

需要はこんな感じです

  1. バックグラウンド管理インターフェイスにフォーム情報を入力し、どのフォームがあるかを指定します (追加または削除可能)

  2. ##フロントエンドでどのフォームに入力できるかを表示します

  3. 最後に、入力したフォーム (

    生成された実際のデータ) をデータベースに保存します

  4. 最後に入力されたデータは、

    クエリ、並べ替え、フィルタリングに便利である必要があります データ

インターネット上で多くの情報を見つけましたが、どれも私のニーズを満たすものではありませんでした。

デザインのアイデアを提供できるデザインマスターはいますか? ! !

PHP中文网PHP中文网2712日前1210

全員に返信(4)返信します

  • 高洛峰

    高洛峰2017-05-17 10:09:19

    1. まず、単一行テキスト、複数行テキスト、ラジオ選択、複数選択、時間などのコントロール テーブルを定義します。
    2. 次に、フォームに含まれるフィールドとフィールド名を定義する構成テーブルを定義します。名前、性別など)、コントロールの種類、フィールドのデフォルト値、フィールドの長さ、必須かどうかなどを表示するために使用します。
    3. 次に、対応する構成テーブルに追加されたレコードをバックグラウンドの別のレコードテーブルに保存します。レコード テーブルに保存されているレコード 複数の単一行のテキスト、複数のラジオ選択、およびその他のレコード (冗長) が存在する場合があります。
    4. 次に、レコード テーブルの情報に従ってフォームを表示します。
    5. 最後に入力します。フォームを送信して、入力した情報を保存するだけです
    6. 入力した情報を表示する必要がある場合は、構成テーブルとフォームの対応するレコードに従って、対応する情報を表示します。


    補足

    返事
    0
  • 阿神

    阿神2017-05-17 10:09:19

    クエリについていくつかの言葉を追加します。基本的な考え方は1階と同じです。しかし、この場合、データのフィルタリングとクエリが実際に問題になります

    id プライマリキー自動インクリメント search_id はデータ ID filed_id はフィールド ID data はデータ値

    フロントエンドがこのデータの追加を完了したら、コールバックを実行して、このテーブルに関連するデータを挿入します。このテーブルにインデックスを付ける必要がある場合は、インデックスを追加するだけで十分です。

    返事
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-17 10:09:19

    データを mongo に保存するのが最善です。さらに、たとえば、概要データのコピーを保存し、次にフォーム データのコピーを保存する必要があります。 10 個の新しいフォームを作成すると、10 個のコレクションが保存されます。

    返事
    0
  • 天蓬老师

    天蓬老师2017-05-17 10:09:19

    mongodb ストレージをサポートし、製品属性などのさまざまな色やサイズのアイテムを保存するのに非常に便利です。
    さらに、一部のロジックを抽出して SQL 側で記述する必要はありません。コード層では、かなりのパフォーマンスの向上が見られ、多くの結合操作が削除されます。

    返事
    0
  • キャンセル返事