這是因爲你在你的foreach循環中創建了你的SQL語句。
我也建議使用輸入數組(如$_POST['txtStoreID'][0]
等等)使事情變得更簡單。
就你而言,我假設你的$_POST
陣列中的字段被命名爲:txtStoreID_1
。
// First, create array for all results
$res_arr = array();
// Load array with all results
foreach ($_POST as $key=>$value) {
$tmp_name = explode('_',$key,2);
$pri_key = $tmp_name[1]; // number
$sec_key = $tmp_name[0]; // name
if (!is_array($res_arr[$pri_key])) {
$res_arr[$pri_key] = array();
}
// This creates for example: $res_arr['1']['txtStoreID'] containing 'Store_31'
$res_arr[$pri_key][$sec_key] = $value;
}
// Next, create insert statements
foreach ($res_arr as $data) { // Now you get $data['txtStoreID'] etc.
$sqli = "INSERT INTO Inspection_tbl (Store_ID, Dept_ID, Quantity, Memo, User_ID, Date_Time) ";
$sqli .= "Values ('".$data['txtStoreID']."', ";
$sqli .= "'".$data['txtDeptID']."', ";
$sqli .= "'".$data['txtQuantity']."', ";
$sqli .= "'".$data['txtMemo']."', ";
$sqli .= "'".$data['txtUserID']."', ";
$sqli .= "'now()')";
echo $sqli; // Check query
}
請注意,這只是對您輸入的字段計算的猜測,雖然。
編輯:
除了從is_array()
改變我做了,我的猜測是,你需要的DEPTID,而不是爲部門文本值。
所以,代碼的底部應該是:
// Next, create insert statements
foreach ($res_arr as $deptID=>$data) { // Now you get $data['txtStoreID'] etc.
$sqli = "INSERT INTO Inspection_tbl (Store_ID, Dept_ID, Quantity, Memo, User_ID, Date_Time) ";
$sqli .= "Values ('".$data['txtStoreID']."', ";
$sqli .= "'".$deptID."', ";
$sqli .= "'".$data['txtQuantity']."', ";
$sqli .= "'".$data['txtMemo']."', ";
$sqli .= "'".$data['txtUserID']."', ";
$sqli .= "'now()')";
echo $sqli; // Check query
}
編輯3似乎確定。 –