Портал для заказа PHP-заказов

Мне нужен совет, прежде чем я начну. Моим навыкам PHP всего 3 месяца, так что я учусь.

Мне нужно создать экран захвата заказа, который фиксирует информацию в базе данных.

Форма заказа может содержать до 150 строк, которые необходимо уловить.

Я могу создать форму достаточно просто, но мне интересно, что лучший способ написать это в базе данных.

при отправке я могу получить значения формы с помощью метода post и записать их в mysql, используя:

INSERT INTO example (example_id, name, value, other_value) VALUES (100, 'Name 1', 'Value 1', 'Other 1'), (101, 'Name 2', 'Value 2', 'Other 2'), (102, 'Name 3', 'Value 3', 'Other 3'), (103, 'Name 4', 'Value 4', 'Other 4'); 

Есть ли более простой способ сделать это или мне нужно повторить код для 150 строк?

С точки зрения удобства, вы можете пересмотреть дизайн своей формы. Если пользователь заполняет 149 строк формы заказа и случайно нажимает кнопку «Назад», у них будет очень плохой день. Возможно, вам следует рассмотреть возможность захвата одной строки за раз или предоставить пользователю возможность загружать файл (электронную таблицу, CSV и т. Д.), Содержащий все записи.

Если вы не можете изменить дизайн формы, вам нужно обработать строки в цикле. Цикл может выглядеть примерно так:

 for ( $i = 1; $i <=150; $i++ ) { $name = $_POST['name' . $i]; $value = $_POST['value1' . $i]; // capture the rest of the field values $query = "INSERT INTO (...) VALUES ($name, $value, ...)"; mysql_query($query); } 

В качестве альтернативы вы можете добавить результат каждого цикла к одному большому запросу и запустить его после захвата всех 150 строк.

Для краткости я выделил несколько деталей, которые вам нужно добавить:

  • Устраните свои входы, чтобы убедиться, что ваш пользователь не повреждает вашу базу данных
  • Рассмотрите возможность использования PDO или чего-то другого, кроме mysql_ *, чтобы упростить использование базы данных.
  • Убедитесь, что вы не захватываете и не добавляете пустые значения, если строка оставлена ​​пустой.