2012-02-29 8 views
-2

私は、ユーザが自分のニーズに合わせてカスタマイズして、彼らのクライアントからの応答を受け入れることができるフォームを構築しています。 Google Docs Formのようなものだと思ってください(私はログインして、ダイナミックなフィールドを使ってどんなサイズのフォームを作ることもできます)。ユーザごとの動的アプリケーション...(PHP MySQL)

これを作成する典型的な方法は何ですか?また、これを行うには良いPHPライブラリがありますか?今のところ、自分が望むことができるすべてのフィールドを考え、そのユーザーのブール論理をそのフィールドに関連付けることが私の計画です。

  • 名前
  • 電話
  • メール

これらの各:他の言葉では、のは、これらを使用することができる可能性フィールドの全てであると言うてみましょう私のユーザーのために「オン」または「オフ」にすることができ、そのクライアントに表示され、使用されません。これは非常に仕事集約的なやり方であると思われます。私は、完全に動的なフォームを作成できるようにするのが理にかなっているのだろうかと思います。しかし、もう一度、それは私にもっと多くの仕事のように聞こえる...

質問 - 私の論理は健全で、人々がこれをコード化する標準的な方法ですか?なぜ/なぜか?完全に動的なフォーム作成を可能にするためにWebAppにカスタマイズできるライブラリがありますか?

ありがとうございます!

+0

私はちょうどWufooでそれらを指摘したいと思います... – ceejayoz

+0

@ceejayozそれは私のアプリの残りの部分に統合する必要があります。データをローカルに格納できない場合、これはオプションではありませんが、可能ならばチェックします。 – Shackrock

+0

Google Docsフォーム –

答えて

1

私たちはこれまで、独自の目的のために内部プロジェクトとして構築しました。良いことも、私たちが望んでいたよりもはるかに複雑だったからです。現時点では、ローカルストレージと高度にカスタマイズ可能な基本的なオプションはありませんでした。近くに何かがあるかもしれませんが、私は正確には覚えていませんが、私が取り上げる質問の部分は、あなたのロジックが健全であるかどうかであり、必ずしも既存のライブラリがあるかどうかではありません。

私はあなたが望む可能性のあるすべてのフィールドを考えないことを強くお勧めします。あなたは、維持するのが面倒な構造化されたパッケージに自分自身をロックするでしょう。これを抽象化することは唯一の方法です。

各フォームがフォームテーブルのエントリであるように作成しました。十分に簡単です。フォーム名、クライアントID、ステータス(有効/無効)など。

各フィールドは、もちろんフォームIDに関連付けられたリレーショナルテーブルにあります。この項目には、ラベル、ID、タイプ(select、multi select、radio、text、textarea)、必須(bool)、注文、アクティブまたは無効、オプション(tinymce enabledなど)などが格納されます。

それぞれ適用可能な場合、オプションには多対1の関係表があります。ドロップダウン、ラジオボタンなどの場合

これはあまり複雑ではありませんが、改善を開始するときや、ページに分割したいときでさえ、悪化します。

ポイントは抽象的なです。あなたは最後にもっと幸せになるでしょう。

関連する問題