Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Mini kalkulator
Forum PHP.pl > Forum > Przedszkole
Ramzaa
Próbuję napisać skrypt, który będzie mnożył mi pole cena z polem ilość sztuk. Niestety problem pojawia się po użyciu pętli while, bo nie wiem jak się odnieść do danej komórki.

Ma to wyglądać tak:



To co udało mi się napisać:

  1. <?php
  2. require_once("connection.php");
  3. $zapytanie = mysql_query("SELECT * FROM `sklep`");
  4.  
  5. echo '
  6. <form action="" method="post">
  7. <table border="1" width="100%" cellpadding="3" cellspacing="1">
  8. <tr>
  9. <td width="10%" align="center">Nazwa:</td>
  10. <td width="10%" align="center">Cena:</td>
  11. <td width="10%" align="center">Ilość sztuk:</td>
  12. <td width="10%" align="center">Razem:</td>
  13. <td width="10%" align="center">Licz:</td>
  14. </tr>';
  15.  
  16. if (isset($_POST['licz'])) {
  17.  
  18. $cena = htmlspecialchars($_POST['cena']);
  19. $sztuk = htmlspecialchars($_POST['sztuk']);
  20. $nazwa = htmlspecialchars($_POST['nazwa']);
  21.  
  22.  
  23. $razem = $cena * $sztuk;
  24. echo $cena. " " .$sztuk;
  25. }
  26.  
  27. while ($sklep = mysql_fetch_assoc($zapytanie)) {
  28.  
  29.  
  30. echo '
  31. <tr>
  32. <td>'.$sklep['nazwa'].'<input type="hidden" name="nazwa" value="'.$sklep['nazwa'].'"></td>
  33. <td>'.$sklep['cena'].'<input type="hidden" name="cena" value="'.$sklep['cena'].'"></td>
  34. <td><input type="text" name="sztuk" size="5"></td>
  35. <td>'.$sklep['cena']*$_POST['sztuk'].' zł</td>
  36. <td><input type="submit" name="licz" value="Licz"></td>
  37. </tr>';
  38.  
  39. }
  40.  
  41. echo '</tr></table></form>';
  42.  
  43. ?>

Proszę o jakieś rady/wskazówki.
Gacek89
Musisz to liczyć za każdym razem, najlepiej w pętli:

Kod
echo '
            <tr>
                <td>'.$sklep['nazwa'].'</td>
                <td>'.$sklep['cena'].'</td>
                <td><input type="text" name="sztuk'.$sklep['nazwa'].'" size="5"></td>
                <td>';
is_numeric($_POST['sztuk'.$sklep['nazwa']])? echo $sklep['cena']*$_POST['sztuk'.$sklep['nazwa']].' zł' : echo '0 zł ';//sprawdzenie czy pole zawiera liczbę
echo '</td>
                <td><input type="submit" name="licz" value="Licz"></td>
            </tr>';


nazwa pola ilości : sztuk'.$sklep['nazwa'].' jest po to by te pole rozróżnić od innych.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.