我正在尝试使用三种不同类型的相同名称字段存储数据
像
<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&#39;我想要类似的东西
itemname | subitem |量
球-------大------ 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));
}
}
上面代码中的问题,我只能插入一个列值。如何从post数组中插入其他列的值
谢谢
答案 0 :(得分: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
?>
以上代码将拍摄9个SQL查询,这是您可以获得的组合数量。您当然可以检查是否有任何值为空,而不是跳过插入。不太清楚这一点是什么,请告诉我你是否需要更多的帮助。
答案 1 :(得分:1)
好的,我已经解决了。感谢其他试图帮助我的人
$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
}