将新字段追加到现有数组

时间:2019-02-15 22:05:47

标签: php mysql ajax

我正在尝试向数组中的每个条目添加相同的团队名称。用户当前可以在单个表单提交中添加多个名称。如果用户添加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);
}

?>

1 个答案:

答案 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);
}
?>
相关问题