Я хочу создать таблицу, которую пользователи могут заполнять значениями и отправлять в базу данных. Каждая строка таблицы должна быть сохранена как отдельная строка в таблице. Пример таблицы приведен ниже.
First | Last | Phone
Steve | Jones | 1234
Jason | Smith | 4567
Mark | Black | 6789
Submit
Я создаю свою таблицу как форму и отправляю с помощью POST. Как я могу отправить каждую строку как отдельную строку в свою базу данных, используя только одну кнопку отправки?
<input ... name="contact[1][first]">
<input ... name="contact[1][last]">
<input ... name="contact[1][phone]">
...
<input ... name="contact[2][first]">
<input ... name="contact[2][last]">
<input ... name="contact[2][phone]">
Также проверьте этот вопрос.
Постскриптум вам нужно гуглить лучше.
<form method='POST' action='submitPage.php'>
<table>
<tr>
<td><input name='first[]'></td>
<td><input name='last[]'></td>
<td><input name='phone[]'></td>
</tr>
<tr>
<td><input name='first[]'></td>
<td><input name='last[]'></td>
<td><input name='phone[]'></td>
</tr>
.
.
</table>
<input type='submit' value='submit details'>
</form>
submitPage.php
<?
$first = $_POST['first'];
$last = $_POST['last'];
$phone = $_POST['phone'];
$totalFirstName = sizeof($first);
for($i=0;$i<$totalFirstName;$i++)
{
$FirstName = $first[$i];
$LastName = $last[$i];
$Phone = $phone[$i];
$Query = "INSERT INTO TableName SET first='$FirstName', last='$LastName', phone='$Phone'";
//Execute Your Query
}
?>
<form>
<fieldset>
<input name="first[]" type="text"/>
....
Может быть полезно для вас, если имена полей в качестве массивов позволяют вам их перебирать, например:
<?php
$firsts = $_POST["first"];
$lasts = $_POST["lasts"];
$num = $_POST["numbers"];
if(count($firsts) == count($lasts) == count($num) {
for($i = 0; $i < count($firsts); $i++) {
$toSubmit = [$firsts[$i], $lasts[$i], $num[$i]];
// put that into your SQL inserts w/e.
}
}
?>