他の人は同じフィールドを何度も複製することを意味する "動的フィールド"の定義を使用しますが、それは私が "動的フィールド"を定義する方法ではありません。私はカテゴリと商品を1つのテーブルで管理するスクリプトを用意しています。次に、そのテーブルを使用して別のページにテキストフィールドを含むフォームを表示します。だから私の質問は、どのように動的テーブルを保存するように、次のテーブルとその2番目のテーブルに挿入するためのPHPを作成するのですか?フィールドはいつでも追加または削除することができ、新しいテーブルと挿入ステートメントは柔軟に対応できる必要があります。 ALTでALTNAMEは、フォームフィールドの名前をされて終わると、「猫」を持つもの:猫/ PRODテーブルに関するユニークなフィールドが動的に追加されるフォームからmysqlデータベースにデータを保存するにはどうすればよいですか?
id label altname parent sort
1 cat2 cat 0 4
2 subcat1 cat 1 5
3 cat1 cat 0 1
4 subcat2 cat 1 9
5 product 1a product_1a 3 2
6 product 2a product_2a 2 6
7 product 2b product_2b 2 7
8 product 3a product_3a 4 10
9 product 3b product_3b 4 11
10 new product new_product 3 3
情報:ここでは
は、第一テーブル内のレコード(categories_products)の一例です名前は決してフィールドにならず、カテゴリとサブカテゴリのタイトルです。以下に生成されるフォームの例を示します。私はもう一つの余分なフィールド(会社)を追加する必要があります私は保存する必要があります。<form class='' id='form-id'>
Company: <input type="text" name="company" value="">
<ul class='a'>
<li class="b">
<p><strong>cat1</strong></p>
<ul class='a'>
<li class="c"><p>product 1a: <input type="text" name="product_1a" ></p></li>
<li class="c"><p>new product: <input type="text" name="new_product" ></p></li>
</ul>
</li>
<li class="b">
<p><strong>cat2</strong></p>
<ul class='a'>
<li class="b"><p><strong>subcat1</strong></p>
<ul class='a'>
<li class="c"><p>product 2a: <input type="text" name="product_2a" ></p></li>
<li class="c"><p>product 2b: <input type="text" name="product_2b" ></p></li>
</ul>
</li>
<li class="b">
<p><strong>subcat2</strong></p>
<ul class='a'>
<li class="c"><p>product 3a: <input type="text" name="product_3a" ></p></li>
<li class="c"><p>product 3b: <input type="text" name="product_3b" ></p></li>
</ul>
</li></ul>
</li>
</ul>
<input type="submit" name="submit" value="Submit">
</form>
これは、異なる企業が異なる価格設定をするという点です。価格はフォームフィールドに入力されるものです。そして、フォームを生成するすべてのカテゴリと製品を持つというポイントは、すべての企業がすべて同じカテゴリと製品を取得するためです。その後、後の管理者は新製品を考え、新製品を追加して追加するので、新製品は新しい形の保存の一部にする必要があります。
この時点で、私は会社の価格の記録を保存するためにどのテーブル構造を使用するか分かりません。私は、テーブルコラムを作成して破壊するのは賢明ではないと聞いています。だから、もっと良い方法は何ですか?すべてのフォームフィールド値を単一のテーブル列に保存する必要がありますか?しかしどのように?これはどのように動的になり、新しいフォームフィールドが作成されたときに過去の行についてこの列のデータに何が起こりますか?
私はこの新しいテーブルを開始しましたが、これは終了し、次に行うべきことや動的フォームのデータを格納する方法がわかりません。
table name: product_pricing
id
company
price
、次はカップルのレコードの例かもしれないが、私は実際にこれを実現する方法を知ることはできません。
id company price
1 abc {product_1a:0.01,product_2a:0.01,product_2b:0.01,product_3a:0.01,product_3b:0.01,new_product:0.01}
2 xyz {product_1a:0.02,product_2a:0.02,product_2b:0.02,product_3a:0.02,product_3b:0.02,new_product:0.02}
のか、製品名が変更される場合がありますので、これは良くなります?
id company price
1 abc {5:0.01,6:0.01,7:0.01,8:0.01,9:0.01,10:0.01}
2 xyz {5:0.02,6:0.02,7:0.02,8:0.02,9:0.02,10:0.02}
私は私が取得し、後でこの列のデータを解析する方法を心配することができますが、私は保存/ PHPを介してデータを保存するつもりですか、この第一のハードルを通過した取得する必要がありますと:IDの代わりで保存mysqlコード。明らかに、価格を編集するためのレコードの編集ページがあるので、更新はデータを適切に再保存する必要があります。これは私が心配していることです。最初のテーブルに何が行われていても(製品の追加と削除)、データは常に正しい位置に保持されます。
の念だそれらを更新するために、テーブル内のリンクIDになることができますか?企業名をID(会社のテーブル)にリンクするもの、カスタム価格(ID、企業ID、製品ID、価格) –
を持つ製品に企業をリンクするものがあるため、製品と価格は別々の行に表示されます?上記の例では、abc companyには6レコード、xyz companyには6レコードがありますか? – leoarce
これは、すべてのフィールドが角カッコで同じ名前を持つ必要があることを意味しますか?名前= "価格[]" – leoarce