所以我有一个包含4个数组输入的表单。当我点击提交时,它只提交第一个数组值。 ID是当前会话持有者,以确保它创建具有相同ID的多个行。我试图让它循环并在同一个ID下插入多个产品。有什么想法吗?
session_start();
$conn = new mysqli("$server", "$user_name", "$password", "$database");
$productName = $_POST['productName'];
$productPrice = $_POST['productPrice'];
$productDescription = $_POST['productDescription'];
$productImage = $_POST['productImage'];
$id = $_SESSION['id'];
$productNameCount = count($productName);
if (isset($productName) && isset($productPrice) && isset($productDescription) && isset($productImage)) {
for ($i = 0; $i < $productNameCount; $i++) {
$productNumber = $i + 1;
$sql .= "INSERT INTO Products (id, productNumber, productName, productPrice, productDescription, productImage)
VALUES ('$id', '$productNumber', '$productName[$i]', '$productPrice[$i]',
'$productDescription[$i]', '$productImage[$i]');";
}
$conn->query($sql);
}
mysqli_close($conn);
答案 0 :(得分:0)
首先,你必须找到一种方法来获得整个数组。 我会写一个小例子:
var jsonString = JSON.stringify(array_in_javascript);
这是一个javascript。 然后在PHP中:
$names = json_decode(stripslashes($_POST['jsonString']));
您必须找到与您的代码相关的方法。 您也可以从prepare语句中获益以插入多个记录。