Dag Mensen,

Voor een restaurant ben ik een online bestelformulier aan het ontwerpen.

Op een pagina wil ik laten zien wat mensen op de vorige pagina geselecteerd hebben uit een form.

Deze gegevens worden doorgegeven als $_POST["n$id"] waarin $id het productnummer is.

$query="select * from producten";

$result = mysql_query($query);

  while ($row= mysql_fetch_array($result)) {
  $id = $row["id"];
  $naam = $row["naam"];
  $ingredienten = $row["ingredienten"];
  $prijs = $row["prijs"];
  $categorie = $row["categorie"];
  $subtotaal = $_POST["n$id"] * $prijs;
  $subtotaal = number_format($subtotaal,2);
    
if ($_POST["n$id"] > '0') echo "<tr><td height=\"36\" rowspan=\"2\" valign=\"top\" width=\"25\">$id.</td><td valign=\"top\">$naam</td><td rowspan=\"2\" valign=\"top\">"; if ($_POST["n$id"] > '0') echo $_POST["n$id"]; if ($_POST["n$id"] > '0') echo "</td><td rowspan=\"2\" valign=\"top\">X</td><td rowspan=\"2\" valign=\"top\">&euro; $prijs</td><td rowspan=\"2\" valign=\"top\"> = </td><td rowspan=\"2\" valign=\"top\">&euro; $subtotaal</td></tr>
<tr><td valign=\"top\"><font class=\"ingredienten\">$ingredienten</font></td></tr>";}


Nu wil ik graag alle verschillende $subtotaal's optellen tot een $totaalprijs.

Ik zou het erg waarderen als iemand een oplossing heeft. Bij voorbaat dank!

Groeten Frits
Maak de boel eens leesbaar, bovenstaand bord spagetti-code is onleesbaar, daar kunnen we dus niets mee.

Waarschijnlijk heb je de oplossing dan ook zo gevonden.

ps. Het belangrijkste deel van de code ontbreekt nog, de foutafhandeling... Ga dat ook eerst maar eens maken, dan komt de rest later wel.

Edit: De leesberen snappen er niets van... ;)
Deze gegevens worden doorgegeven als $_POST["n$id"] waarin $id het productnummer is.
Waarom loop je te klooien met variabele variabelen? Gebruik gewoon een multidimensionale array, je snijdt jezelf nu ontzettend in de vingers.

Geef je input de naam 'n[]' en je kunt vervolgens tijdens de verwerking de ingevulde gegevens uitlezen uit de array $_POST['n'].

Bij het werken met arrays zou je tevens eens naar [php]array_sum[/php] kunnen kijken voor het optellen van waarden in een array. Die functie komt hier misschien wel van pas.

Pas je script even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Gebruik je knop om dit te doen.

SanThe.
Ik heb de code inmiddels tussen code gezet.

array_sum heb ik al naar gekeken, maar het lukt mij daarmee alleen om bijv. 5 + 6 of $var1 + $var2 op te tellen en niet verschillende waarden van $subtotaal.
Je kunt in je while loop toch gewoon het totaal bijhouden?
<?php
$totaal = 0;
while(...)
{
$subtotaal = ...;
$totaal += $subtotaal;
}
?>
Ja dit werkt!

Harstrikke bedankt!

Reageren