Это мой первый проект «Созданный с нуля» PHP/MySQL. Я построил очень простую форму HTML с той же строке повторяется несколько раз:Вставка нескольких значений var в ту же таблицу mysql
<h2 style="margin-top:0">Current Projects</h2>
Project: <input name="project1" type="text" size="40" value="1" />
Status: <input name="status1" type="text" size="40" value="1" />
Estimated Completion: <input name="estCompletion1" type="text" size="12" value="1" /><br />
Project: <input name="project2" type="text" size="40" value="2" />
Status: <input name="status2" type="text" size="40" value="2" />
Estimated Completion: <input name="estCompletion2" type="text" size="12" value="2" /><br />
Project: <input name="project3" type="text" size="40" value="3" />
Status: <input name="status3" type="text" size="40" value="3" />
Estimated Completion: <input name="estCompletion3" type="text" size="12" value="3" /><br />
Я пытаюсь написать все это в одной таблице базы данных, в то же время, но в разных рядах.
$sql = "INSERT INTO current_project (date, est_completion, project_name, status)
VALUES (NOW(), '$estCompletion1', '$project1', '$status1'),
(NOW(), '$estCompletion2', '$project2', '$status2'),
(NOW(), '$estCompletion3', '$project3', '$status3')";
Проблема с этим заключается в том, что он вставляет данные из переменной, даже если она равна нулю. Поэтому, если пользователь вводит данные только в первую строку полей (project1, status1 и т. Д.), Остальные 2 вставляют пустую строку.
Есть ли способ, возможно, использовать 'if isset()', чтобы у меня не было пустых полей в моей базе данных?
вы пытались создать свой SQL запрос динамически - проверка значений перед конкатенации строки на остальных? Отредактировано, чтобы сказать - да, с if isset() я бы проверял каждую запись перед добавлением строки в запрос sql – wribit
Кажется, что проще вставить одну строку за раз, поэтому вам не придется беспокоиться о других строках, если они не заполнено. Кто-то может заполнить строки 1 и 3 и оставить строку 2 пустой, чтобы вызвать проблему. –
r lo - Я пробовал делать каждый отдельно, но он только записывает последний в базу данных, игнорируя предыдущие. – danzo