1

我正在尝试存储来自三种不同类型的同名字段的数据

喜欢

<td><input name="itemname[]" value="ball" ></td>
<td><input name="itemname[]" value="racket" ></td>
<td><input name="itemname[]" value="shoes" ></td>
<td><input  name="subitem[]" value="big"></td> 
<td><input  name="subitem[]" value="grenn"></td>
<td><input  name="subitem[]" value="sports"></td>
<td><input name="quantity[]" value="10"></td>
<td><input name="quantity[]" value="10"></td>
<td><input name="quantity[]" value="10"></td>

现在我试图将它们插入到表'selected_items'中,我想要类似的东西

商品名 | 分项 | 数量

球-------大------10

球拍-----绿色----10

鞋子-----运动----10

请帮我

已编辑

我试着用 foreach

foreach($_POST['quantity'] as $val) {

$sql2 = "INSERT INTO items_selected (jobsheet_id,item_name,subitem,quantity) VALUES ('$jobid','aaa', 'bbb', '{$val}')";

if (!mysqli_query($this->con,$sql2))
                {
                    die('Error: ' . mysqli_error($this->con));
                }

}

上面代码中的问题,我只能插入一列值。如何从帖子数组中插入其他列的值

谢谢你

4

2 回答 2

2

好的,我已经解决了。感谢其他试图帮助我的人

$quanity = count($_POST['quantity']);

$item = $_POST['itemname'];
$sub = $_POST['subitem'];
$qty = $_POST['quantity'];

for($i=0;$i<$quanity;$i++){
echo $item[$i].' '.$sub[$i].' '.$qty[$i];
// you can also use insert sql query
}
于 2013-09-05T12:21:27.093 回答
1

这很容易......您将所有信息发布为一个数组。

您显然希望每次插入 3 个数据库条目。(你可以通过三个不同的名字让生活更简单)

因此,在 php 检索页面上,您将执行以下操作。

<?php

CONNECT TO DATABASE

$itemname = $_POST['ball'];
$subitem = $_POST['racket'];
$quantity = $_POST['racket'];

foreach($itemname as $itemname):
foreach($subitem as $subitem):
foreach($quantity as $quantity):

SQL QUERY HERE INSERTING $itemname, $subitem, $quantity

endforeach;
endforeach;
endforeach;

Close SQL Connection

?>

上面的代码将触发九个 sql 查询,这是您可以获得的组合数量。您当然可以检查任何值是否为空,而不是跳过插入。不太清楚这有什么意义,如果您需要更多帮助,请告诉我。

于 2013-09-05T01:48:42.900 回答