Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]formularz, sumowanie cen, po wybraniu opcji
webrunner1981
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 3.02.2010

Ostrzeżenie: (0%)
-----


Witam. Przepraszam od razu z góry za wszystko. Tak na wszelki wypadek. Jaki mam problem? Chcę stworzyć formularz w php. I nie wiem, jak się do tego zabrać.

Ma to wyglądać tak:

1kg kawy Arabica - 50 zł
1kg kawy Robusta - 100zł
1kg kawy rozpuszczalnej - 30zł
itd.

Wchodzi klient na stronę. Ma pola wyboru obok gatunków kaw :
1kg, 2kg, 3kg, 4kg, 5kg, 6 kg, 7kg, 8kg, 9kg, 10kg itd.

I teraz najtrudniejsze:
W zależności od tego ile wybierze kilogramów danej kawy , to skrypt ma sumować. Do tego w zależności od tego, ile kg wybierze, to dostaje upust.
Upust:
5kg - 10%
10kg - 20%

Wynik ma wyglądać tak:
10 kg kawy Arabica - 500 zł minus 20% = 400 zł
5kg kawy Robusta - 500 zł minus 10% = 450 zł
10 kg kawy rozpuszczalnej - 300 zł minus 20% = 240 zł

To chyba wszystko.
P.S. Czy będę zmuszony skorzystać z bazy MySQL ? Wolę to wiedzieć od razu. (IMG:style_emoticons/default/smile.gif) Aby w razie czego przygotować plik SQL, lub ręcznie wklepać do bazy co trzeba. Formularz ma być wysłany mailem przy pomocy mailer.php. Zależy mi na szybkiej odpowiedzi.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Cytat(webrunner1981 @ 3.02.2010, 14:54:26 ) *
P.S. Czy będę zmuszony skorzystać z bazy MySQL ?

To zależy, ile masz tej informacji i co chcesz z danymi robić.
Go to the top of the page
+Quote Post
webrunner1981
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 3.02.2010

Ostrzeżenie: (0%)
-----


To ma być cennik na kilkaset gatunków kaw z cenami. Skrypt ma mnożyć kilogram razy cena razy upust w procentach powyżej odpowiedniej wielkości kilogramów według schematu. Skrypt nawet teoretycznie nie musi przeliczać upustu, może sprawdzać, że kilogramy mieszczą się w widełkach i oznaczać upust informacją w formularzu, który zostanie wysłany e-mail-em. Aczkolwiek najlepiej, by obliczał upust i podawał konkretne ceny za każdy gatunek kawy i na końcu sumował dodatkowo wszystko razem.

Przy zakupie powyżej 21kg -5% upustu
Przy zakupie powyżej 31kg-10% upustu
Przy zakupie powyżej 41kg-15% upustu
Przy zakupie powyżej 80kg-Upust indywidualny
Przy zakupie powyżej 21kg wysyłka na nasz koszt
Upusty dotyczą wszystkich kaw
Koszt wysyłki do 21kg 25zł+VAT z pobraniem

Chodzi mi o to, jakiej funkcji muszę użyć, tudzież zmiennej? Czyli, jak zmodyfikować skrypt? Mogą być podpowiedzi, czego szukać, może wtedy znajdę odpowiednie funkcje i zmienne, i sam sobie napiszę skrypt. Wtedy na pewno go tu wkleję. Domyślam się , że to kwestia napisania kawałka kodu, który ma sprawdzać ile kilogramów wybrał klient , dokonywać operację mnożenia i zwracać wynik. Byłbym niezmiernie wdzięczny za jakikolwiek ślad naprowadzający mnie na cel.

Znalazłem coś takiego w sieci:

Najpierw plik connection.php, w którym napiszemy funkcję służącą nam do połączenia z bazą danych.

connection.php
  1. <?php
  2. function connection() {
  3. // host
  4. $mysql_host = "localhost";
  5. // user
  6. $mysql_user = "root";
  7. // hasło
  8. $mysql_pass = "krasnal";
  9. // nazwa bazy
  10. $mysql_db = "baza";
  11. // nawiązujemy połączenie z serwerem MySQL
  12. @mysql_connect($mysql_host, $mysql_user, $mysql_pass)
  13. or die('Brak połączenia z serwerem MySQL.');
  14. // łączymy się z bazą danych
  15. @mysql_select_db($mysql_db)
  16. or die('Błąd wyboru bazy danych.');
  17. }
  18.  
  19. ?>


Teraz zapytanie do bazy danych, dzięki któremu stworzymy tabelki i pola, w które wstawimy dane z formularza.

install.php
  1. <?php
  2. require("connection.php");
  3. // ładujemy plik z połączeniem
  4. connection();
  5. // łączymy się z bazą danych za pomocą funkcji, którą stworzyliśmy w pliku connection.php
  6. $zapytanie = "CREATE TABLE `formularz` (
  7. `imie` VARCHAR(30) NOT NULL,
  8. `nazwisko` VARCHAR(40) NOT NULL,
  9. `email` VARCHAR(40) NOT NULL)";
  10. // zapisujemy zapytanie do zmiennej
  11. $wykonaj = mysql_query('$zapytanie');
  12. // wykonujemy zapytanie;)
  13. ?>


Formularz w html

dodaj.html

  1. <html>
  2. <head>
  3. <title> Dodawanie rekordów </title></head>
  4. <body>
  5. <form method="POST" action="dodaj.php">
  6. Podaj imię: <input type="text" size="30" name="imie"><br>
  7. Podaj nazwisko: <input type="text" size="40" name="nazwisko"><br>
  8. Podaj e-mail: <input type="text" size="40" name="email"><br>
  9. <input type="submit" value="wyślij!">
  10. </form>
  11. </body>
  12. </html>


Dodawanie danych do bazy danych

dodaj.php

  1. <?php
  2. require("connection.php");
  3. connection();
  4. $imie = $_POST['imie'];
  5. $nazwisko = $_POST['nazwisko'];
  6. $email = $_POST['email'];
  7.  
  8. $zapytanie = "INSERT INTO `formularz` VALUES('$imie','$nazwisko','$email')";
  9. $wykonaj = "mysql_query('$zapytanie')";
  10. ?>


Ten post edytował webrunner1981 3.02.2010, 21:43:55
Go to the top of the page
+Quote Post
koderrr
post
Post #4





Grupa: Zarejestrowani
Postów: 255
Pomógł: 16
Dołączył: 4.07.2007

Ostrzeżenie: (0%)
-----


oczekujesz gotowca ?
Go to the top of the page
+Quote Post
marck
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 27.05.2008

Ostrzeżenie: (0%)
-----


Taki będę że cie naprowadzę:

1. Musisz mieć bazkę Mysql gdzie robisz sobie tabelę kawy
2. Deklarujesz id, nazwę, opakowanie i cenę jednostkową.
3. W skrypcie deklarujesz zmienne $ilosc_zamowiona i $ rabat
4. Wczytujesz sobie cene wybranej kawy z bazy mnożysz przez ilosc i odejmujesz rabat
Np
$wynik=($cena_jedn * $ilosc) - $rabat
To wszycho zapisujesz sobie w drugiej tabelce np zamowienia i tyle
Go to the top of the page
+Quote Post
Danielcom
post
Post #6





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 6.10.2008

Ostrzeżenie: (0%)
-----


nie zapomnij o mysql_close bo jeśli będziesz miał limity jednoczesnych połączeń do mysql to mozesz mieć problem z działaniem strony.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 21:36