フォトギャラリーに簡単なカートシステムを追加しようとしています。現時点では、選択した商品を種類と数量で更新する簡単な方法を作成しています。しかし、PHP側でデータを処理する際に問題が発生しました。
同じフィールド名の行を送信しているため、PHPはデータを上書きして1つの配列のみを作成しています。理想的には、PHPでこれにしたいと思います。
array(item, product, quantity),
array(item, product, quantity),
array(item, product, quantity)
これを処理する最良の方法は何でしょうか。
- ある種の一意の識別子を使用してフィールド名を作成してから、PHPにpost配列を再処理させます。
- JSを使用して配列を作成し、それらを行として配列として送信します。私の場合は3つの配列です。POST中に文字列に変換されるため、機能するかどうかわかりませんか?
- キーが「item_gallery_id」フィールドである投稿配列を作成する方法はありますか?
- 私はこれに何時間も立ち往生していて、簡単だと思った何かのために、私はすべてを試しました:(
POSTパラメータ
cart_id 1
item_gallery_id 6
item_gallery_id 3
item_gallery_id4
product_options 12
product_options 12
product_options 12
quantity 1
quantity 1
quantity 1
私は次のHTMLを持っています
<form id="order_photo_form">
<table width="100%" border="0">
<thead>
<tr>
<th>Item</th>
<th>Album/Item</th>
<th>Product/Price</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<tr>
<input class="form_data" name="item_gallery_id" value="6" type="hidden">
<td><img src="img" width="100"></td>
<td>Item</td>
<td><select class="form_data" name="product_options">
<option value="12">Canvas 100x150cm - $550</option>
<option value="11">Canvas 100x100cm - $350</option>
</select></td>
<td><select class="form_data" name="quantity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
</tr>
<tr>
<input class="form_data" name="item_gallery_id" value="3" type="hidden">
<td><img src="img" width="100"></td>
<td>Item</td>
<td><select class="form_data" name="product_options">
<option value="12">Canvas 100x150cm - $550</option>
<option value="11">Canvas 100x100cm - $350</option>
</select></td>
<td><select class="form_data" name="quantity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
</tr>
<tr>
<input class="form_data" name="item_gallery_id" value="4" type="hidden">
<td><img src="img" width="100"></td>
<td>Item</td>
<td><select class="form_data" name="product_options">
<option value="12">Canvas 100x150cm - $550</option>
<option value="11">Canvas 100x100cm - $350</option>
</select></td>
<td><select class="form_data" name="quantity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
</tr>
</tbody>
</table>
</form>
次に、いくつかの単純なjQuery;
$.ajax({
url: "ajax.php?update_cart",
type: "POST",
data: $('#order_photo_form').serialize(),
success: function(data){
$.jGrowl(data, { life: 10000 });
},
});
ありがとう。