動的フォーム用にデータベースをどのように設計すべきでしょうか?
PHP中文网
PHP中文网 2017-05-17 10:07:19
0
4
1237

需要はこんな感じです

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

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

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

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

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

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

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

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

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(4)
小葫芦

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


補足

いいねを押す +0
阿神

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

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

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

いいねを押す +0
淡淡烟草味

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

いいねを押す +0
Peter_Zhu

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート