Hallo allemaal,

Ik heb weer een nieuw project waar ik niet helemaal uitkom. Het gaat erom dat ik een bestelling wil toevoegen in de database. Ik heb een database samengesteld met daarin een tabel "wijnen", in deze tabel heeft iedere wijn een uniek artikelnummer.

Nu wil ik mbv een script de bestellingen in de database kunnen opslaan.

Ik begin met een overzicht te maken van alle wijnen voor de bestelpagina

mijn query:
<?php
mysql_query("SELECT naam, soort FROM wijnen ORDER BY soort, naam",$mysql) or die("4"); //lijst van namen en soorten voor in tabel[/quote]
?>

deze zet ik in een tabel:
<?php
while(list($naam,$soort) = mysql_fetch_row($resultaat))
{
echo"<tr><td>$naam</td><td>$soort</td><td><input type='textbox' name='$artnr.aantal'></td></tr>";
//naam van besteld aantal is artikelnummer.aantal (1.aantal)
}
?>

Nu wil ik dus het besteld aantal doorgeven (dus artikelnummer.aantal, bijvoorbeeld 1.aantal). Hoe kan ik deze in mijn volgende pagina ontvangen en verwerken. Ik heb geprobeerd om ieder een lijst van alle artikelnummers te maken en dan met $_POST["$nummer.aantal"] deze binnen te halen, maar dat lukt helaas niet..

De bijbehorende code:

<?php
$query = mysql_query("SELECT artnr FROM wijnen",$mysql) or die("3"); //lijst van alle artikelnummers

while(list($nummer) = mysql_fetch_row($query))
{
$bestelling = $_POST["$nummer.aantal"];
echo "$bestelling, ";
}
?>

Iemand enig idee hoe ik dit moet aanpakken?

Alvast bedankt!
Gebruik een array als veldnaam voor je input:


<?php
echo '<input type="text" name="aantallen['.$artnr.']" />';
?>

Waarbij $artnr dan het artikelnummer van de betreffende wijn bevat. Als je dit formulier vervolgens verzendt, kun je in de array $aantallen alle aantallen terugvinden waarbij de keys in die array de betreffende artikelnummers zijn :-)
Hey Joren,

Bedankt voor je reactie!

ik heb dus nou van het verzendform dit gemaakt:

<?php
while(list($naam,$soort) = mysql_fetch_row($resultaat))
{
echo"<tr><td>$naam</td><td>$soort</td><td><input type='textbox' name=\"aantallen['.$artnr.']\"></td></tr>";
//naam van besteld aantal is artikelnummer.aantal (1.aantal)
}
?>

Maar helaas ben ik niet zo thuis in array's (ik heb het nooit echt begrepen..).
Ik heb dus nu dit ervan gemaakt, maar (zoals ik al verwachtte), krijg ik nog altijd geen informatie binnen..

<?php
$mysql = mysql_connect("localhost","--","--") or die("1");
mysql_select_db("--",$mysql) or die("2");
$query = mysql_query("SELECT artnr FROM wijnen",$mysql) or die("3"); //lijst van alle artikelnummers

$bestelling = $_POST["aantallen"];

while(list($nummer) = mysql_fetch_row($query))
{
echo "$bestelling[$nummer]";
}

?>

Zie ik nou gewoon iets heel eenvoudigs over het hoofd?
Begin eerst met het buiten quotes halen van variabelen: vergelijk de kleuren in mijn stukje code met die in jouw stuk. Vervolgens zou je in de afhandeling eens kunnen zien hoe de inhoud van de array $aantallen eruit ziet door dit te doen:

<?php
print_r($aantallen);
?>

Reageren