mysqli — вставка нескольких одинаковых полей ввода. Переполнение стека

Добрый день.

<input type="text" name="title">
<input type="text" name="name[]">
<input type="text" name="name[]">

<?php
if(isset($_POST['submit']){
$title = $_POST['title'];
$name = $_POST['name'];

$add = "INSERT INTO books (title, name) VALUES ('$title','$name')";
}
?>

Как этот код может работать? Он должен быть вставлен с тем же названием и разными именами одновременно. Спасибо.

Образец формы

Я хочу, чтобы запись была обновлена ​​следующим образом:

---------------------------------

|--bookID--|--Title--|--Author--|

|----1-----|---one---|----me----|

|----2-----|---two---|---you----|

---------------------------------

1

Решение

$_POST['name'] это массив с ключом 0,1
Итак, в вашем примере вы получили:

 //This is just an example
foreach($_POST['name'] as $name) {

}

Надеюсь это поможет.

1

Другие решения

Пример Atul Vekariya правильный, но вам также необходимо выполнить запрос в цикле. Вот почему этот пример не сработал для вас.

if(is_array($_POST['name']) && !empty($_POST['name'])) {
foreach($_POST['name'] as $name) {
$add = "INSERT INTO books (title, name) VALUES ('$title','$name')";

//execute query here. mysqli_query($add) or PDO::query
}
}
0

Пожалуйста, проверьте ниже код

if(is_array($_POST['name']) && !empty($_POST['name'])) {
foreach($_POST['name'] as $name) {
$add = "INSERT INTO books (title, name) VALUES ('$title','$name')";
//execute query here. mysqli_query($add) or PDO::query
}
}
0

После поиска разных решений. Вот тот, который работает. Спасибо за всю помощь.

<?php
include_once 'config/connect.php';

if($_SERVER["REQUEST_METHOD"] == "POST"){
$title = $_POST['title'];
$name = $_POST['name'];
$length = count($name);
$addBook = "INSERT INTO books (title,name) VALUES ";
for($i=0; $i<$length; $i++){
$addBook .= "('$title','$name[$i]'),";
}
$addBook = rtrim($addBook, ',');

if($conn->query($addBook) === TRUE) {
echo "Success";
} else {
echo "Error: ".$addBook."<br>".$conn->error;
}

}
?>

<form action="addBook.php" method="POST">
Title: <input type="text" name="title">
<br/>
Authors: <input type="text" name="name[]"> <input type="text" name="name[]">
<br/>
<input type="submit" name="submit">
</form>
0
По вопросам рекламы [email protected]