« powrót

Nowa wersja koszyka sklepowego [JavaScript]

Opublikowano: 2010-12-25 , wyświetlono: 10465

Zmiany w stosunku do poprzeniej wersji

- dodano unikalne ID produktu
- dodawanie produktu, który jest już "włożony" do koszyka powoduje zwiększenie ilości
- poprawione usuwanie produktu

Przykładowa strona demonstrująca działanie znajduje się tutaj

A archiwum rar ze wszystkimi plikami użytymi w demonstracji tutaj

Poniżej dodane są również przykłady odczytu koszyka w php i perl'u po stronie serwera.

Odczyt koszyka w aplikacji PHP


  define("ITEM_LENGTH", 6);
  define("ITEM_ID", 0);
  define("ITEM_CODE", 1);
  define("ITEM_NAME", 2);
  define("ITEM_QUANT", 3);
  define("ITEM_PRICE", 4);
  define("ITEM_TAX", 5);

  $orderContent = $_COOKIE['SHOPBASKET'];

  echo "<pre>";
  echo "$orderContent" . "\n";

  $rawItemList = split("\t", $orderContent);
  $itemsCount = (sizeof($rawItemList)-1) / ITEM_LENGTH;

  for ($i = 0; $i < $itemsCount; $i++)
  {
    echo $rawItemList[($i*ITEM_LENGTH) + ITEM_ID] . " ";
    echo $rawItemList[($i*ITEM_LENGTH) + ITEM_CODE] . " ";
    echo $rawItemList[($i*ITEM_LENGTH) + ITEM_NAME] . " ";
    echo $rawItemList[($i*ITEM_LENGTH) + ITEM_QUANT] . " ";
    echo $rawItemList[($i*ITEM_LENGTH) + ITEM_PRICE] . " ";
    echo $rawItemList[($i*ITEM_LENGTH) + ITEM_TAX] . "\n";
  }
  echo "</pre>";

Odczyt koszyka w aplikacji Perl


use constant ITEM_LENGTH => 6;
use constant ITEM_ID => 0;
use constant ITEM_CODE => 1;
use constant ITEM_NAME => 2;
use constant ITEM_QUANT => 3;
use constant ITEM_PRICE => 4;
use constant ITEM_TAX => 5;

my $orderContent = $queryCgi->cookie('SHOPBASKET');

my @rawItemList = split(/\t/, $orderContent);
my $itemsCount = scalar @rawItemList;
  
$itemsCount = $itemsCount / ITEM_LENGTH;  
  
my $lp;
for ($lp = 0; $lp < $itemsCount; $lp++)
{
    print @rawItemList[($lp*ITEM_LENGTH) + ITEM_ID] . " ";
    print @rawItemList[($lp*ITEM_LENGTH) + ITEM_CODE] . " ";
    print @rawItemList[($lp*ITEM_LENGTH) + ITEM_NAME] . " ";
    print @rawItemList[($lp*ITEM_LENGTH) + ITEM_QUANT] . " ";
    print @rawItemList[($lp*ITEM_LENGTH) + ITEM_PRICE] . " ";
    print @rawItemList[($lp*ITEM_LENGTH) + ITEM_TAX] . " ";
    print @rawItemList[($lp*ITEM_LENGTH) + ITEM_PRICE] . "\n";
}



Komentarze: