美好的一天。
<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----|
---------------------------------
答案 0 :(得分:1)
$_POST['name']
是具有键0
,1
的数组。
因此,在您的示例中,您有:
//This is just an example
foreach($_POST['name'] as $name) {
}
希望这会有所帮助。
答案 1 :(得分: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
}
}
答案 2 :(得分:0)
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
}
}
答案 3 :(得分: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>