Zmodyfikowałem Twój kod, aby działał:
formularz.php
<form method="POST" action="form.php">
<input type="text" name="waw" />
<input type="submit" />
</form>
<form method="POST" action="input.php">
<?php
$i=0;
while ($i<$_GET['waw'])
{
?>
<!-- Person #1 -->
<input type="text" name="username[]" />
<input type="text" name="phonenum[]" />
<input type="text" name="add[]" /><br />
<?php
$i++;
}
?>
<input type="submit" />
</form>
input.php
<?php
$username="maizakath";
$password="12345";
$database="tryinsert";
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die("<b>Unable to specified database</b>");
$sql_start = 'INSERT INTO `mytable` VALUES ';
$sql_array = array();
$queue_num = $_POST['waw'];
foreach ($_POST['username'] as $row=>$name)
{
$username = $name;
$phonenum = $_POST['phonenum'][$row];
$add = $_POST['add'][$row];
$sql_array[] = '("' . $username . '", "'.$phonenum.'", "'.$add.'")';
if (count($sql_array) >= $queue_num) {
$query_single=$sql_start . implode(', ', $sql_array);
mysql_query($query_single);
$sql_array = array();
}
}
if (count($sql_array) > 0) {
$query = $sql_start . implode(', ', $sql_array);
mysql_query($query)or die(mysql_error());
}
?>
To działa dobrze. Właśnie przetestowałem to na moim lokalnym komputerze.
EDYTUJ(Komentarze) :
-
Użycie zmiennej $queue_num w input.php jest bez sensu, ponieważ ta zmienna jest dostępna tylko w skrypcie form.php('wow' input umieszczony w innym formularzu, który jest przesyłany do pliku form.php, a nie input.php). Więc
if (count($sql_array) >= $queue_num)
blok działa źle; -
Sprawdź swoje ustawienia konfiguracyjne dla połączenia z bazą danych (jak napisałem w komentarzu, musisz zdefiniować stałą o nazwie 'localhost' lub umieścić słowo localhost w cudzysłowie);
-
Zmodyfikowałem Twój formularz, ponieważ miał niewłaściwą strukturę;
-
Nie rozumiałem celu stworzenia pierwszego formularza w form.php.
Możesz zmodyfikować ten kod, aby był bardziej odpowiedni dla Twojego przypadku. Ale najpierw spróbuj użyć tego.
Uwaga. Użyj var_dump() funkcja, aby zobaczyć tablicę $_POST podczas debugowania, aby zrozumieć, jakie zmienne są dostępne.