Als je dit formulier post zou je het volgende kunnen gebruiken:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
foreach($_POST as $key => $value)
{
echo $key.': '.$value.'<br>';
// Hier kun je natuurlijk ook controle uitvoeren
// en een insert query gebruiken.
}
}
?>
Geef elk idveld de naam "id[]" (zonder quotes) en elk naamveld de naam "naam[]" (ook zonder quotes)
$_POST['naam'] is dan een array met alle namen, en $_POST['id'] een array met alle id's..
s
(overigens als ID ook voor het id-veld van je database is, zou ik dat veld in de database op auto_increment zetten.)
als je al die text field nou dezelfde naam geeft, dus bij ID:
<input type="text" name="id[]" />
en bij naam:
<input type="text" name="naam[]" />
kan je via een foreach-loop deze makkelijk toevoegen:
<?php
foreach($_POST['id'] as $key => $value) {
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
?>
als je al die text field nou dezelfde naam geeft, dus bij ID:
<input type="text" name="id[]" />
en bij naam:
<input type="text" name="naam[]" />
kan je via een foreach-loop deze makkelijk toevoegen:
<?php
foreach($_POST['id'] as $key => $value) {
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
?>
`
En hoe zorg ik er voor dat er geen lege dingen worden ingevoerd?
<?PHP
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
foreach($_POST['id'] as $key => $value) {
if(!empty($value) or !empty($_POST['naam'][$key])){
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$_POST['naam'][$key]."'");
}
}
echo "gelukt";
?>
Maar hij wil het maar niet invoegen. De velden hebben andere betekenis. Het veld ID heeft nu de betekenis nummer en het veld naam heeft nu de betekenis prijs.
<?php
foreach($_POST as $key => $value)
{
if(!empty($value) and !empty($key))
{
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'");
}
}
?>
En natuurlijk de foutafhandeling maken. Oftewel checken of het wel gelukt is.