skanuj0531 (2)

skanuj0531 (2)



552 PHP i MySQL dla każdego

Cały kod funkcji printltem to seria instrukcji echo tworzących tabelę HTML, służącą do prezentacji danych. Dane są pobierane z tablicy row i umieszczane w poszczególnych komórkach tabeli. Komórka znajdująca się z prawej strony zawiera odnośnik umożliwiający dodanie książki do koszyka. Odnośnik ten ma postać:

<a href='main.php?action-atb&id-$row[Id]'>Do koszyka</a> czyli jest to wywołanie skryptu main.php, któremu zostały przekazane argumenty: action o wartości atb i id, wskazujący identyfikator książki.

Obsługa koszyka

Obsługą koszyka na zakupy zajmują się trzy funkcje:

♦    atb — dodająca nową książkę do koszyka;

♦    showBasket — wyświetlająca zawartość koszyka;

♦    modi fyBasket — modyfikującą zawartość koszyka.

Koszyk w sklepie internetowym można realizować na kilka sposobów, które można ogólnie podzielić na dwa rodzaje:

♦    koszyki zapisywane w bazie danych,

♦    koszyki zapisywane w zmiennych sesji.

Wybierzemy sposób drugi, który jest prostszy w realizacji i wydajniejszy, gdyż nie wymaga ciągłych odwołań do bazy danych. Koszykiem będzie tablica asocjacyjna, w której kluczami będą identyfikatory znajdujących się w koszyku książek, a wartościami kluczy — liczba egzemplarzy danego tytułu. Jeśli zatem klient zamówi dwa egzemplarze książki o identyfikatorze 15, w tablicy pojawi się klucz o nazwie 15 i wartości 2. Taka tablica będzie zapisana w zmiennej sesji o nazwie koszyk.

Kod funkcji atb, dodającej nowe pozycje do koszyka, został przedstawiony na listingu 21.9. Przyjmuje ona w postaci argumentu o nazwie id identyfikator książki, która ma zostać dodana. Pierwszym zadaniem funkcji jest sprawdzenie, czy istnieje koszyk, czyli czy istnieje zmienna sesji o nazwie koszyk. Jeśli nie, jest tworzona. Następnie jest wywoływana funkcja makeDBConnection dokonująca połączenia z bazą. Jeśli jej wywołanie zakończy się sukcesem, jest wykonywane zapytanie SQL sprawdzające, czy w bazie faktycznie istnieje książka o identyfikatorze zgodnym z wartością argumentu id. Zapytanie to ma postać:

SELECT C0UNT(*) FROM Książki WHERE id=$id

Listing 21.9. Kod funkcji atb___

function atb($id)

{

i f(!i sSet($_SESSI0N['koszyk'])){

$_SESSI0N['koszyk'] - arrayO:


Wyszukiwarka

Podobne podstrony:
skanuj0485 502 PHP i MySQL dla każdego /* Jeśli parametr action ma nieprawidłową wartość */ else{ ec
skanuj0504 524 PHP i MySQL dla każdego /* Jeśli parametr action ma nieprawidłową wartość. */ else{ e
skanuj0151 (9) 162 PHP i MySQL dla każdego Listing 6.5. Wykorzystanie funkcji zmieniających wielkość
19684 skanuj0380 (2) 398 PHP i MySQL dla każdego Tabela ta zostanie utworzona za pomocą instrukcji S
14988 skanuj0386 (2) 402 PHP i MySQL dla każdego Listing 15.2. Funkcja identyfikująca typy systemów

więcej podobnych podstron