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.)
Ja heb ik gedaan. Maar het is ff voorbeeld.


En als ik dan doen

$naam = $_POST['naam']
$id = $_POST['id']

INSERT INTO nummers (id, naam) VALUES ('$id', '$naam')


Is dan alles apart ingevoegd?
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]."'");
}
?>
Jason de Ridder schreef op 24.10.2006 15:45
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
foreach($_POST['id'] as $key => $value) {
if(!empty($value)){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>
Robert schreef op 24.10.2006 16:13
<?php
foreach($_POST['id'] as $key => $value) {
if(!empty($value)){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>

wordt:
<?php
foreach($_POST['id'] as $key => $value) {
if(!empty($value) or !empty($_POST['naam'][$key])){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>
Dit is het script:

<?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.
Hij voegt em nog steeds niet in...

Reageren