Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
5 / 4 / 1
Регистрация: 18.12.2019
Сообщений: 180

Запись в MySQL данных

07.08.2021, 13:53. Показов 667. Ответов 5

Студворк — интернет-сервис помощи студентам
У меня есть веб-приложение. В нем такой код:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<form action="createorder.php" method="post">
  <ul class="list-group list-group-flush" id="ul1">
  <li class="list-group-item">
   <input type="text" name="detail" id="detail" placeholder="Деталь" class="input-group-text" >
  </li>
  </ul>
  <input type="button" value="Добавить деталь" onclick="newLi()" class="btn btn-outline-success">
  <input type="button" value="Удалить деталь" onclick="delLi()" class="btn btn-outline-danger">
  <div class="card-body">
    <button type="submit" name="button" class="btn btn-success">Создать запись</button>
    <a class="btn btn-outline-primary" href="http://localhost/book.php">Заказы</a>
</form>
Форма отвечает за отправку POST запроса. Отправляются имена деталей. С помощью JS я сделал добавление и удаление новых полей (деталей может быть 10шт).
В PHP следующий код:
PHP
1
2
3
4
5
6
7
  $detail = $_POST['detail'];
  if(!empty($detail)){
  include("../datalayer.php");
  $query = "INSERT INTO `details` (`detail`) VALUES ('$detail')";
  $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
  mysqli_close($link);
  }
Вопрос - как сделать добавление от 1 до 10 деталей и исключить пустые. name и id через JS задаются как detail0, detail1, detail2 и тд.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.08.2021, 13:53
Ответы с готовыми решениями:

Запись на перерыв - добавление данных в MySQL
Доброе время суток, знающим! Возникла необходимость в написании скрипта по возможности записи на перерыв: Визуально, как хотелось бы ...

Запись в базу данных mysql веб приложением
Пытаюсь научится php. Памагите Задача заключается в создании веб-страницы с 2 полями и кнопкой. Табличка состоит из столбцов - Имя,...

Где ошибка? (Запись данных из массива в базу данных mysql)
Массив, генерирующий данные: $data = array(); for($i = 0; $i &lt; 100; $i++){ $data = array( 'name' ...

5
 Аватар для DimasCooleR
24 / 16 / 9
Регистрация: 19.07.2021
Сообщений: 79
07.08.2021, 14:57
Если нет необходимости отслеживать очередность, то в HTML пропишите имена с квадратными скобками
HTML5
1
<input type="text" name="detail[]" ...
А в PHP обрабатывайте как массив обернув все в цикл foreach
PHP
1
2
3
4
5
6
7
8
9
$all_details = $_POST['detail'];
foreach(all_details as $detail){
  if(!empty($detail)){
     include("../datalayer.php");
     $query = "INSERT INTO `details` (`detail`) VALUES ('$detail')";
     $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
     mysqli_close($link);
  }
}
1
 Аватар для matveev1512
53 / 43 / 22
Регистрация: 29.05.2016
Сообщений: 214
07.08.2021, 16:21
@DimasCooleR :Это плохое решение!
1
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,801
07.08.2021, 18:26
matveev1512, приведите хорошее.
0
51 / 38 / 13
Регистрация: 20.01.2019
Сообщений: 115
07.08.2021, 20:59
та норм решение, просто инклюд и mysqli_close из цикла вынести, а то субд дёргать по 100500 раз такое себе

Добавлено через 1 минуту
и вместо if(!empty($detail)) можно сделать
PHP
1
$all_details = array_filter($_POST['detail']);
0
 Аватар для DimasCooleR
24 / 16 / 9
Регистрация: 19.07.2021
Сообщений: 79
08.08.2021, 05:57
Цитата Сообщение от matveev1512 Посмотреть сообщение
@DimasCooleR :Это плохое решение!
Я в первую очередь хотел минимальными измененями исходного кода дать ответ на вопрос, а не решить его "максимально правильным и хорошим" способом.

Сам вариант передавать массив данных через name="detail[]" - это самое простое решение, которое не требует никакого дополнительного JS кода. И конечно, обработать эти данные в PHP можно множеством способов.
Один из вариантов указал ke1evra.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.08.2021, 05:57
Помогаю со студенческими работами здесь

Запись данных в MySQL
Не записываются данные в базу &lt;h2 align=&quot;center&quot;&gt;Оформление заказа&lt;/h2&gt; &lt;? if($_SESSION &amp;&amp; !isset($_POST)) { ?&gt;...

Запись в Базу данных MySQL
&lt;html&gt; &lt;head&gt; &lt;title&gt;Формы PHP&lt;/title&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt; ...

Запись и вывод данных из mysql
Как реализовать подобную вещь Имеется текстовое поле, в которое вписывается любой набор символов. После чего нажимается кнопка...

запись данных из php в mysql
Привет форумчане! Как с php записать данные в базу mysql?. Я вотнаписал код а так не работает, скажите где ошибка &lt;?php $text...

Запись данных из json в mysql
Здравствуйте. Подскажите пожалуйста как организовать запись данных из json в mysql? Есть json на сайте банка -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru