您好我正在尝试从我的表单中提交一个包含3个文本文件的数组,然后发送到我的数据库,表
我的表格
<input type="hidden" name="itemqt[]" value="<?php echo $item["quantity"]; ?>">
<input type="hidden" name="itemname[]" id="text-basic" value="<?php echo $item["name"]; ?>">
<input type="hidden" name="itemprice[]" id="text-basic" value="<?php echo $item["price"]; ?>">
基本上当我尝试组合两个数组时,它可以工作
foreach (array_combine($_POST['id'], $_POST['itemprice'] ) as $name => $email)
{
echo "";
//$name . " - " . $email .
$ocode = $_POST['ocode'];
$sql = "INSERT INTO `orders` (pid, price,status,method,ocode, quantity) VALUES ('$name','$email','paid','Card','$ocode','$_POST[itemqt]')";
if (mysqli_query($con, $sql)) {
echo "";
}
else {
echo "Error: " . $sql . "<br>" . mysqli_error($con);
}
}
}
}
但是当我尝试将一个3数组与另一个像dis一样的字段组合时,它就失败了。我收到语法错误
foreach (array_combine($_POST['id'], $_POST['itemprice'], $_POST['itemqt'] ) as $name => $email, $qt)
{
echo "";
//$name . " - " . $email .
$ocode = $_POST['ocode'];
$sql = "INSERT INTO `orders` (pid, price,status,method,ocode, quantity) VALUES ('$name','$email','paid','Card','$ocode','$_POST[itemqt]')";
if (mysqli_query($con, $sql)) {
echo "";
}
else {
echo "Error: " . $sql . "<br>" . mysqli_error($con);
}
}
}
}
请任何想法,有人成功合并了3个阵列
答案 0 :(得分:0)
array_combine
从2个数组生成结果数组 - 一个用于键,另一个用于值。你期望通过添加第三个数组?它会被添加到键,值?在哪里?
你真正需要的只是某个基本变量的foreach
循环,大概是$_POST['id']
:
$i = 0;
foreach ($_POST['id'] as $id) {
// get values from other $_POST variables with the same key as $i
echo $id, ': ', $_POST['itemprice'][$i], ' => ', $_POST['itemqt'][$i];
$i++;
}
甚至更简单:
foreach ($_POST['id'] as $key => $id) {
// get values from other $_POST variables with the same key as $key
echo $id, ': ', $_POST['itemprice'][$key], ' => ', $_POST['itemqt'][$key];
}
当然,您可以查看某个$_POST['itemprice'][$key]
是否存在$_POST['itemqt'][$key]
或$key