長文になりますが、ご了承ください。PHP はかなり得意ですが、データベース設計の知識は乏しいです。データベースの設計を指揮することは、アプリケーションで作業する際に最も重要なことであり、コツをつかめば物事がいかに簡単になるかを理解したので、私はそれに取り組んでいます. このスレッドが始まったのも、データベースの相互作用に関する私の知識が乏しいためです。
私は基本的に、以下の画像に似た構造を持つ約 40 のフォームを持っています。
列と行の数はフォームごとに異なりますが、上に示したようにほぼ同様の構造に従います。
私が達成しようと計画していること
- 単一または同じ php ページを使用して、40 のフォームすべてを処理 (つまり、データベースにデータを挿入) します。
<form action="process.php">
つまり、すべてのフォームに同じものを使用するつもりです。 - ハードコーディングは避けてください。
process.php
コードを可能な限り動的に保ちます。
道路封鎖
- 各フォームのパラメーターの数はさまざまであるため、各フォームに存在する行の数を調べる方法を見つける必要があります。
- フォームで使用されている要素 (ラジオ ボタン、チェックボックス、ドロップダウン、テキストエリア、テキスト ボックスなど) に名前を付ける方法を決定するのが難しい。
- 挿入の進め方がわからず困っています。一度に 1 行ずつ挿入するのが適切なようですが、どうすればこれを実現できますか? たとえば、ループを使用する場合、最初の反復で関連するデータを
Ambiance
挿入する必要があります。2 番目のループでは、関連するデータをTV Room
挿入する必要があります。問題は、それに応じてコーディングする方法ですか?
私が心に留めていること
フォームの列 (パラメーター、要件を満たす、観察、ステータス、コメント) は、MySql テーブルのフィールドになります。
次に、ループを使用して一度に 1 行ずつテーブルに挿入します。
フォームで使用される要素に名前を付けるために配列を使用します。たとえば、最初の行の要素には ambiance[requirement]、ambiance[observation]、ambiance[status]、ambiance[remarks]、 2行目など。次に、挿入を使用して1行で行うことができます
INSERT INTO tablename (implode(',', array_keys($ambiance))) VALUES (implode(',', $ambiance))
これが何についてではないか
コードの提供/郵送を依頼する。
Give me teh codez
私の操作方法ではありません。タスクの進め方についての指示を求めているだけです。
これについて
提案を求める。
正しい方向に進んでいるかどうかを判断します。
別の方法があるかどうかを尋ねます。