Meerdere rijen tegelijk in database invoegen
Ik heb een klein probleempje. Ik heb een HTML-formulier als volgt:
<html>
<body>
<form method="post" action="toevoegen1.php">
<table>
<tr>
<td>Voornaam:</td>
<td>Achternaam</td>
</tr>
<tr>
<td><input type="text" name="vnaam" size="10"></td>
<td><input type="Text" name="anaam" size="70"></td>
</tr>
<tr>
<td><input type="text" name="vnaam" size="10"></td>
<td><input type="Text" name="anaam" size="70"></td>
</tr>
</table>
<br>
<input type="submit" value="toevoegen">
</form>
</body>
</html>
Ik wil dus een meerdere rijen tegelijkertijd in een mysql database invoeren, maar hoe moet ik de code in toevoegen1.php maken? als ik de code $sqlquery = "INSERT INTO DTM_results (name, position) VALUES('".$_POST['name']."','".$_POST['position']."')"; gebruik schrijft hij alleen het woord Array naar de database (slechts één rij ook maar). Wie o wie kan me helpen, begin desperate te worden :)
Bij voorbaat dank
Gewijzigd op 09/12/2004 20:07:00 door Alfred -
$sqlquery = "INSERT INTO Namen (vnaam, anaam) VALUES('".$_POST[vnaam]."','".$_POST[anaam]."')";
$sqlquery = \"INSERT INTO Namen (vnaam, anaam) VALUES(\'\".$_POST[\'vnaam\'].\"\',\'\".$_POST[\'anaam\'].\"\')\";
\'\' vergeten :)
$sqlquery = "INSERT INTO Namen (vnaam, anaam) VALUES('".$_POST['vnaam']."','".$_POST['anaam']."')";
Maar de input velden:
vnaam1 & anaam1
vnaam2 & anaam2
En voeg dan 2 queries toe?
$sqlquery = "INSERT INTO Namen (vnaam, anaam) VALUES('".$_POST['vnaam']."','".$_POST['anaam']."')";
gebruiken, of deze?
$sqlquery = "INSERT INTO Namen (vnaam1, anaam1, vnaam2, anaam2) VALUES('".$_POST['vnaam']."','".$_POST['anaam']."')";
Gewoon 2 insert queries onder elkaar plaatsen, maar een keer met $_POST['vnaam1'] en dan met $_POST['anaam1'] idem voor vnaam2 en anaam2...
Geen idee of je met 1 query ineens 2 rijen kan ingeven...
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
mysql_query("INSERT INTO Namen SET
vnaam = '".$_POST['vnaam']."',
anaam = '".$_POST['anaam']."'
");
?>
mysql_query("INSERT INTO Namen SET
vnaam = '".$_POST['vnaam']."',
anaam = '".$_POST['anaam']."'
");
?>
Zo heb je het overzichtelijk onder elkaar.
Let wel op, dat de laatste geen , aan het einde heeft.
Hij zet nu alleen de laatste invoer in de database. Close, but quite there yet :)
<input type="text" name="vnaam" size="10">
<input type="Text" name="anaam" size="70">
<input type="text" name="vnaam" size="10">
<input type="Text" name="anaam" size="70">
Dit is 2 keer hetzelfde.
Jou script kan niet ruiken dat er 2 dezelfde namen zijn, en ze vervolgens opsplitsen.
Je zou toch echt de 2e vnaam en anaam een andere naam moeten geven.
Dan wordt het:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
mysql_query("INSERT INTO Namen (vnaam,anaam) VALUES
('".$_POST['vnaam_een']."',
'".$_POST['anaam_een']."'),
('".$_POST['vnaam_twee']."',
'".$_POST['anaam_twee']."')
");
?>
mysql_query("INSERT INTO Namen (vnaam,anaam) VALUES
('".$_POST['vnaam_een']."',
'".$_POST['anaam_een']."'),
('".$_POST['vnaam_twee']."',
'".$_POST['anaam_twee']."')
");
?>
Volgens mij..
Edit:
Mocht je de namen toch hetzelfde willen houden, kan je ook [] erachter zetten
dus:
<input type="text" name="vnaam[]" size="10">
Nou wordt het wel een correcte array, en kan je het invoegen.
Gewijzigd op 09/12/2004 23:34:00 door Peter Dorn