我正在尝试向数组中的每个条目添加相同的团队名称。用户当前可以在单个表单提交中添加多个名称。如果用户添加3个名称(first_name,last_name),则数据将按以下方式插入数据库:
1. Adam, Smith
2. Jeff, Thomas
3. John, Reynolds
我希望用户能够提供“团队名称”,然后将团队名称插入到数组的每个条目中,如下所示:
1. The Tigers, Adam, Smith
2. The Tigers, Jeff, Thomas
3. The Tigers, John, Reynolds
将相同的团队名称添加到数据库中的每一行。
<?php
//insert.php
$connect = new PDO("mysql:host=localhost;dbname=testing", "root", "");
$query = "
INSERT INTO tbl_sample
(first_name, last_name)
VALUES (:first_name, :last_name)
";
for($count = 0; $count<count($_POST['hidden_first_name']); $count++)
{
$data = array(
':first_name' => $_POST['hidden_first_name'][$count],
':last_name' => $_POST['hidden_last_name'][$count]
);
$statement = $connect->prepare($query);
$statement->execute($data);
}
?>
答案 0 :(得分:1)
您首先需要更改表并添加新列以存储团队名称。我可以在您的问题中看到表名为tbl_sample
,因此下面是添加新列的查询:team_name
ALTER TABLE `tbl_sample` ADD `team_name` VARCHAR(255) NOT NULL AFTER `last_name`;
这是更新的PHP代码,以支持插入团队名称:
<?php
//insert.php
$connect = new PDO("mysql:host=localhost;dbname=testing", "root", "");
$query = "
INSERT INTO tbl_sample
(first_name, last_name, team_name)
VALUES (:first_name, :last_name, :team_name)
";
for ($count = 0; $count < count($_POST['hidden_first_name']); $count++) {
$data = array(
':first_name' => $_POST['hidden_first_name'][$count],
':last_name' => $_POST['hidden_last_name'][$count],
':team_name' => $_POST['hidden_team_name'][$count] // assuming that you have team name also coming in the POST. You can change it to a static value though.
);
$statement = $connect->prepare($query);
$statement->execute($data);
}
?>