画像と「ordered」フィールドをdbに保存すると、画像は保存されますが、「ordered」フィールドのそれぞれは同じ値を保存します。「ordered」フィールドがそれぞれに入力した値を正しく保存するように修正する方法についてのアイデアはありますか?
例えば:
image_id | product_id | 注文| 画像| サムネイル -------------------------------------------------- ------------------ 593 | 94 | 35 | a23145b.jpg | a231458.jpg -------------------------------------------------- ------------------ 592 | 94 | 35 | 1348352.jpg | 1348358.jpg
これが私が現在持っているものです:
if (isset($_FILES['product_image'])) {
$files = array();
foreach ($_FILES['product_image'] as $key => $values) {
foreach ($values as $i => $value)
$files[$i][$key] = $value;
}
foreach ($files as $file) {
if (!empty($file['name'])) {
$image = $upload->upload_image($file);
$thumb = $upload->upload_image($file);
$values = array(
'product_id' => $product_id,
'image' => $image,
'thumbnail' => $thumb,
'ordered' => $_POST['ordered'][0]
);
$db->insert(config_item('cart', 'table_product_images'), $values);
}
}
}
そしてフィールドのjs
var image_row = 0;
$('#add_image').click(function() {
html = '<tr id="image' + image_row + '">';
html += '<td><input type="file" name="product_image[' + image_row + ']" /></td>';
html += '<td><input type="text" name="ordered[' + image_row + ']" /></td>';
html += '<td><a href="#" id="remove_' + image_row + '" class="remove_image button orange">Remove</a></td>';
html += '</tr>';
$('#images table > tbody').append(html);
image_row++;
return false;
});