login  Naam:   Wachtwoord: 
Registreer je!
 Forum

output aanpassen

Offline andrej13 - 09/03/2011 03:07 (laatste wijziging 09/03/2011 03:09)
Avatar van andrej13Nieuw lid De output van de php klopt niet echt goed, wilt iemand mij helpen aub?

Mijn output ziet er bvb zo uit:

cola : 4 Prijs: 8
totaal:8fanta : 1 Prijs: 2
totaal:10

maar graag zou ik het zo willen hebben

cola : 4 Prijs: 8
fanta : 1 Prijs: 2
totaal:10

Mvg !


  1. <?php if (!isset($_POST['submit'])) { ?>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  6.  
  7. <form method="post" action="<?php echo $PHP_SELF; ?>">
  8. <input type="submit" value="Toon Output" name="submit"/>
  9.  
  10.  
  11. <?php
  12. $dranken = array("cola", "fanta", "bier", "koffie", "thee");
  13. $prijzen = array("2", "2", "1.80", "2.20", "2.20");
  14.  
  15.  
  16. $i = 0;
  17.  
  18. echo "<table>";
  19.  
  20. while ($dranken[$i]) {
  21. $listnaam = $dranken[$i] . "_aantal";
  22.  
  23. $optionlist = "<select name='$listnaam'>\n";
  24. for( $v = 0; $v < 10; $v++ ) {
  25. $optionlist .= "<option value=\"$v\">$v</option>\n";
  26. }
  27. $optionlist .= "</select>\n";
  28. echo "<tr><td >" . $dranken[$i] . "</td>";
  29. echo "<td>" . $prijzen[$i] . "</td>";
  30. echo "<td>" . $optionlist . "</td></tr>";
  31.  
  32. $i++;
  33. }
  34.  
  35. echo "</table>";
  36. ?>
  37.  
  38.  
  39.  
  40. </form>
  41.  
  42. <?php
  43. }
  44.  
  45.  
  46. $dranken = array("cola", "fanta", "bier", "koffie", "thee");
  47. $prijzen = array("2", "2", "1.80", "2.20", "2.20");
  48.  
  49. $i = 0;
  50. $totaalPrijs = 0;
  51.  
  52. while($dranken[$i]) {
  53. $aantal = $_POST[$dranken[$i] . "_aantal"];
  54. if ($aantal > 0) {
  55. $prijsperDrank = $aantal * $prijzen[$i];
  56. echo $dranken[$i] . " : " . $aantal . " Prijs: " . $prijsperDrank . "</br>";
  57. $totaalPrijs += $prijsperDrank;
  58. echo " totaal:" .$totaalPrijs;
  59.  
  60.  
  61.  
  62. }
  63. $i++;
  64.  
  65.  
  66.  
  67.  
  68.  
  69. }
  70.  
  71.  
  72. ?>
  73.  
  74. </html>


3 antwoorden

Gesponsorde links
Offline avdg - 09/03/2011 03:41 (laatste wijziging 09/03/2011 03:44)
Avatar van avdg PHP gevorderde Het eerste dat ik kan vinden is een missende spatie achter de : op lijn 58. Voor de rest vraagt het een klein beetje prutswerk 

Edit: Ik zou mijn array veranderen in de vorm van

  1. 'product' => $product,
  2. 'prijs' => $prijs,
  3. ),
  4. );


Deze is makkelijker uit te lezen dmv een foreach 
Offline andrej13 - 09/03/2011 03:46
Avatar van andrej13 Nieuw lid
  1. <?php if (!isset($_POST['submit'])) { ?>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  6.  
  7. <form method="post" action="<?php echo $PHP_SELF; ?>">
  8. <input type="submit" value="Toon Output" name="submit"/>
  9.  
  10.  
  11. <?php
  12. $dranken = array("cola"=>'2', "fanta"=>'2', "bier"=>'1.80', "koffie"=>'2.20', "thee"=>'2.20');
  13. echo "<table>";
  14.  
  15. foreach ($dranken as $d => $p) {
  16. $optionlist = "<select name='{$d}_aantal'>";
  17. for ($i=0;$i<10;++$i) {
  18. $optionlist .= "<option value='$i'>$i</option>";
  19. }
  20. $optionlist .= "</select>";
  21. echo "<tr><td>$d</td>\n<td>$p</td>\n";
  22. echo "<td>$optionlist</td></tr>\n";
  23. }
  24. echo "</table>";
  25. ?>
  26.  
  27.  
  28. </form>
  29.  
  30. <?php
  31. }
  32.  
  33.  
  34. $dranken = array("cola"=>'2', "fanta"=>'2', "bier"=>'1.80', "koffie"=>'2.20', "thee"=>'2.20');
  35. echo "<table>";
  36.  
  37.  
  38. $totaalPrijs = 0;
  39.  
  40. foreach ($dranken as $d => $p) {
  41. $aantal = $_POST[$d . "_aantal"];
  42. if ($aantal > 0) {
  43. $prijsperDrank = $aantal * $p;
  44. echo $d . " : " . $aantal . " Prijs: " . $prijsperDrank . "</br>"; }
  45.  
  46. }
  47.  
  48. $totaalPrijs=$totaalPrijs + $prijsperDrank;
  49. echo " totaal: " .$totaalPrijs;
  50. ?>
  51.  
  52. </html>



hier heb je het met een for each maar ik kan het nog altijd niet vinden
Offline avdg - 09/03/2011 03:48 (laatste wijziging 09/03/2011 04:46)
Avatar van avdg PHP gevorderde gebruik pastebin.com/org/... of plaatscode.be voor lappen code 

Edit:

Of met een for 

https://gist.github.com/861596

Edit:

Nu met foreach erbij 

Hopelijk zitter er geen fouten meer in 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.374s