Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamówienie
Forum PHP.pl > Forum > Przedszkole
daros17
Witam,

Napisałem kod, dzięki któremu można składać zamówienia:
  1. <?php
  2. echo '<p>Zamówienie przyjeto o '; //data
  3. echo date ('G:i');
  4. echo '<br><br>';
  5.  
  6.  
  7.  
  8. if( (empty($cienka)) && (empty($gruba)) )
  9. {
  10. echo'<font size="5">Nie zlozyles zadnego zamowienia!</font><br/>';
  11. }
  12. else
  13. {
  14. echo '<b>Zamowienie:</b><br/>'; //zamowienie
  15. echo $cienka.' C<br>';
  16.  
  17. echo $gruba.' G<br>';
  18. echo '<b>Pizza za 5zl: </b>';
  19. echo $druga.' <br>';
  20. echo '<b>Adres: </b>';
  21. echo $adres.' <br>';
  22. echo '<b>Telefon: </b>';
  23. echo $telefon.' <br>';
  24. echo '<b>Dostawa na godz: </b>';
  25. echo date ('G:i, ', time() + $godzina * 60);
  26. }
  27. ?>


Na stronie gdzie mam formularz wpisuje np:
1C natomiast tam gdzie jest formularz dla G wpisuje nic i wyświetla mi się tak:

Zamowienie:
1 C
G
A chciałbym, aby było bez tego G, oczywiście także na odwrót kiedy podam 1 G wtedy nie wyskakuje mi C

za pomoc dzięki
Kszyhuu
Zrób 3 ify- na samą cienką, samą grubą i obie i wtedy dostosuj sobie wyświetlanie echo.
daros17
Czy if mają wyglądać tak:

  1.  
  2. if( (empty($cienka)) && (empty($gruba)) )
  3. {
  4. echo'<font size="5">Nie zlozyles zadnego zamowienia!</font><br/>';
  5. }
  6. else
  7. echo '<b>Zamowienie:</b><br/>';
  8. echo $cienka.' G<br>';
  9. echo $gruba.' G<br>';
  10. echo '<b>Pizza za 5zl: </b>';
  11. echo $druga.' <br>';
  12. echo '<b>Adres: </b>';
  13. echo $adres.' <br>';
  14. echo '<b>Telefon: </b>';
  15. echo $telefon.' <br>';
  16. echo '<b>Dostawa na godz: </b>';
  17. echo date ('G:i, ', time() + $godzina * 60);
  18. }
  19.  
  20. if( (empty($cienka)) )
  21. {
  22. echo'<font size="5">Nie zlozyles zadnego zamowienia!</font><br/>';
  23. }
  24. else
  25. echo '<b>Zamowienie:</b><br/>';
  26. echo $cienka.' G<br>';
  27. echo '<b>Pizza za 5zl: </b>';
  28. echo $druga.' <br>';
  29. echo '<b>Adres: </b>';
  30. echo $adres.' <br>';
  31. echo '<b>Telefon: </b>';
  32. echo $telefon.' <br>';
  33. echo '<b>Dostawa na godz: </b>';
  34. echo date ('G:i, ', time() + $godzina * 60);
  35. }
  36.  
  37. if( (empty($gruba)) )
  38. {
  39. echo'<font size="5">Nie zlozyles zadnego zamowienia!</font><br/>';
  40. }
  41. else
  42. echo '<b>Zamowienie:</b><br/>';
  43. echo $gruba.' G<br>';
  44. echo '<b>Pizza za 5zl: </b>';
  45. echo $druga.' <br>';
  46. echo '<b>Adres: </b>';
  47. echo $adres.' <br>';
  48. echo '<b>Telefon: </b>';
  49. echo $telefon.' <br>';
  50. echo '<b>Dostawa na godz: </b>';
  51. echo date ('G:i, ', time() + $godzina * 60);
  52. }
  53.  
  54.  

Tyle że jak wpiszę w formularzu np: 2 G, to wyświetla mi się dwa razy oraz że raz nie złożyłem zamówienia.
cim
Witam,

myślę, że powinieneś iść bardziej w tym kierunku, bo powtarzanie całości 3x nie wydaje się najlepszym pomysłem, chyba że źle zrozumiałem idee tego skryptu.
  1. if( (empty($cienka)) && (empty($gruba)) )
  2. {
  3. echo'<font size="5">Nie zlozyles zadnego zamowienia!</font><br/>';
  4. }
  5. else {
  6. echo '<b>Zamowienie:</b><br/>';
  7. settype($cienka, "integer");
  8. if ($cienka > 0) {
  9. echo $cienka.' C<br>';
  10. }
  11. settype($gruba, "integer");
  12. if ($gruba > 0) {
  13. echo $gruba.' G<br>';
  14. }
  15. echo '<b>Pizza za 5zl: </b>';
  16. echo $druga.' <br>';
  17. echo '<b>Adres: </b>';
  18. echo $adres.' <br>';
  19. echo '<b>Telefon: </b>';
  20. echo $telefon.' <br>';
  21. echo '<b>Dostawa na godz: </b>';
  22. echo date ('G:i, ', time() + $godzina * 60);
  23. }
daros17
mam jeszcze jeden problem:
  1. define('DRUGAPIZZA', 5);
  2. define('CIENKA1', 18);
  3. define('CIENKA2', 21);
  4. define('CIENKA3', 22);
  5. define('CIENKA4', 23);
  6. define('CIENKA5', 24);
  7. define('CIENKA6', 26);
  8. define('GRUBA1', 21);
  9. define('GRUBA2', 23.50);
  10. define('GRUBA3', 24.50);
  11. define('GRUBA4', 25);
  12. define('GRUBA5', 27);
  13. define('GRUBA6', 30);
  14.  
  15. $wartosc = 0.00;
  16. $druga = $druga * DRUGAPIZZA;
  17. $cienka = $cienka * CIENKA1;
  18. $gruba = $gruba * GRUBA1;
  19. $wartosc = $druga + $cienka;
  20. $wartosc = $druga + $gruba;
  21. $wartosc = $cienka + $gruba + $druga;
  22.  
  23. echo'<br><b>Do zaplaty: </b>'.$wartosc.'zl'; // zamowione czesci

Na ta chwile liczy mi:
$druga + $cienka;
$druga + $gruba;
$cienka + $gruba + $druga;

To liczy mi ze stalych CIENKA1 oraz CIENKA2 ale czy za pomoca zmiennej $wartosc moge obliczyc CIENKA2 oraz GRUBA2 itp? Czy musze uzyc nowej zmiennej $wartosc1 ?
cim
Witam,

myślę, że lepiej pójść w bardziej uniwersalnym kierunku czyt. pętla po tablicach, bo pisanie "równań" dla każdego typu to nie jest najlepszy pomysł.

  1. <?
  2.  
  3. $druga_pizza = 5;
  4.  
  5. $pizze['cienka1'] = 18;
  6. $pizze['cienka1'] = 21;
  7. ...
  8. ...
  9. $pizze['gruba1'] = 21;
  10. $pizze['gruba2'] = 23.50;
  11.  
  12. $wartosc = 0;
  13. $wartosc += $ilosc_drugich * $druga_pizza;
  14.  
  15. foreach ($zamowienie as $typ => $ilosc) {
  16. $wartosc += $pizze[$typ] * $ilosc;
  17. }
  18.  
  19. echo $wartosc;
  20. ?>


Ale $zamowienie musi byc tablica asocjacyjna, w ktorej kluczami bedzie typ pizzy, a wartoscia ilosc pizz danego typu. Szczegóły: http://4programmers.net/PHP/Tablice_w_PHP

Pozdrawiam
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.