Задать вопрос
mrusklon
@mrusklon
Не получается? Яростно гугли!

Как добавить несколько строк в БД одной формой?

добрый день, только начал учить php и mysql, поставил себе задачу записать в таблицу 2 строки с одной формы
например форма
<form method="POST" action="">
    <input name="name" type="text" placeholder="Текст"/>
    <br>
    <select name="rab1">
        <option>нет</option>
        <option>Работник1</option>
        <option>Работник2</option>
        <option>Работник3</option>
        <option>Работник4</option>
        <option>Работник5</option>
    </select>
    <br>
    <select>
        <option>нет</option>
        <option>Работник1</option>
        <option>Работник2</option>
        <option>Работник3</option>
        <option>Работник4</option>
        <option>Работник5</option>
    </select>
    <br>
    <select>
        <option>нет</option>
        <option>Работник1</option>
        <option>Работник2</option>
        <option>Работник3</option>
        <option>Работник4</option>
        <option>Работник5</option>
    </select>
    <br>
    <input name="text" type="text" placeholder="Текст"/>
    <br>
    <input type="submit" value="Отправить"/>
</form>


php код записи в БД

$today = date("m.d.y");
if (isset($_POST['name']) && isset($_POST['text'])){

    // Переменные с формы
    $name = $_POST['name'];
    $rab1 = $_POST['rab1'];
    $text = $_POST['text'];

    // Параметры для подключения
    $db_host = "127.0.0.1";
    $db_user = "klon"; // Логин БД
    $db_password = "794685"; // Пароль БД
    $db_base = 'energo_tabel'; // Имя БД
    $db_table = "e_tabel"; // Имя Таблицы БД

    // Подключение к базе данных
    $mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);

    // Если есть ошибка соединения, выводим её и убиваем подключение
    if ($mysqli->connect_error) {
        die('Ошибка : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    }

    $result = $mysqli->query("INSERT INTO ".$db_table." (date, name, position, company, object, time) VALUES ( '$today' , '$rab1', 'Марс', 'Кратор1', 'обустраивание бункера1' , '8')");

    if ($result == true){
        echo "Информация занесена в базу данных";
    }else{
        echo "Информация не занесена в базу данных";
    }
}


вопрос в том что если я выберу 2 работника или 3 , нужно сделать соответственно 2 или 3 строки в БД , в которых все данные такие же , с отличием только имени работника , как такое сделать?
  • Вопрос задан
  • 230 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
@dimoff66
Кратко о себе: Я есть
Либо поставить селекту атрибут multiple
<select name="rab" multiple>

Либо создать несколько селектов, как у вас, и в имя прописать
<select name="rab[]" multiple>
В обоих случаях на сервере вы получите массив
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы