skanuj0536

skanuj0536



Rozdział 21. ♦ Tworzenie sklepu internetowego 557

Elementami formularza są pola typu input o nazwach zgodnych z identyfikatorami książek oraz wartości zgodnej z liczbą znajdujących się w koszyku egzemplarzy tego tytułu. Jeśli więc w zamówieniu znajdują się 3 egzemplarze książki o identyfikatorze 15, pole input będzie skonstruowane następująco:

<input type-'text' name='15' value='3' size-'2'/>

W formularzu znajduje się również pole input typu hidden o nazwie action i wartości modifybasket. Określa ono rodzaj operacji (modyfikacja koszyka), wykonywanej przez skrypt main.php, do którego zostaną wysłane dane po kliknięciu przycisku Zapisz zmiany.

Do pól tabeli są wprowadzane dane odczytywane z wyników zapytania, z koszyka oraz wyliczane dynamicznie. Z tablicy row są odczytywane:

♦    tytuł (indeks 1, $row[l]),

♦    cena (indeks 2, $row[2]),

♦    identyfikator (indeks 0, $row[0]).

Liczba zamówionych egzemplarzy danego tytułu jest odczytywana z tablicy koszyk, na podstawie indeksu odczytanego ze zmiennej row:

$_SESSI0N['koszyk’][$row[0]] i jest zapisywana w zmiennej ile.

Wartość egzemplarzy danego tytułu wynika z prostego działania: liczba egzemplarzy * cena jednego egzemplarza które po przełożeniu na kod ma postać:

$_SESSI0N['koszyk'][$row[0]] * $row[2]

Całkowita wartość zamówienia jest natomiast obliczana przez sumowanie wartości jednostkowych i zapisywana w zmiennej suma.

W ostatniej komórce tabeli znajduje się odnośnik Do kasy, który jest wywołaniem skryptu main.php z parametrem action ustawionym na checkout. Takie wywołanie spowoduje wykonanie funkcji checkout, która zostanie omówiona w kolejnej sekcji tego rozdziału.

Ostatnią funkcją, którą należy omówić w tym miejscu, jest modifyBasket. Dokonuje ona uaktualnienia koszyka, zgodnie z danymi przekazanymi z przedstawionego powyżej formularza, związanego z koszykiem. Kod funkcji modifybasket został zaprezentowany na listingu 21.11.

Listing 21.11. Kod funkcji modifyBasket_ __

functlon modifyBasketO

{

foreach($ SESSIONCkoszyk'] as $key => $val){ if(!1sSet($ P0ST[$key])){ unset($_SESSI0N['koszyk'][$key]):


Wyszukiwarka

Podobne podstrony:
skanuj0516 Rozdział 21. ♦ Tworzenie sklepu internetowego 537 Wygląd formularza rejestracyjnego obraz
45013 skanuj0518 Rozdział 21. ♦ Tworzenie sklepu internetowego 539 o nazwie zgodnej z nazwą pola; ty

więcej podobnych podstron