Добавить новое поле в существующий массив - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь добавить одно и то же имя команды для каждой записи в массиве.В настоящее время пользователь может добавить несколько имен в одной отправке формы.Если пользователь добавляет 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 голосов
/ 16 февраля 2019

Сначала вам нужно изменить таблицу и добавить новый столбец для хранения названия команды.Я мог видеть имя таблицы как 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);
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...