[sesje] koszyk na zakupy
: pn maja 14, 2007 9:08 am
Witam,
na początek powiem, że nie umiem programować obiektowo, ale znalazłam bardzo czytelny kawałek skryptu, który chciałabym lekko zmodyfikować, ale nie wiem jak. Mam prarę pomysłów, ale z chęcią poznam Wasze.
[php]<?php
class koszyk
{
/* tablica asocjacyjna zawierajaca stan koszyka */
/* klucz, to wartosc id produktu, wartosc to ilosc elementow */
var $zawartosc;
function dodaj($element, $ilosc)
{
$this->zawartosc[$element] += $ilosc;
}
function usun($element, $ilosc)
{
if ($this->zawartosc[$element] > $ilosc)
$this->zawartosc[$element] -= $ilosc;
else
unset($this->zawartosc[$element]);
}
function stan()
{
return $this->zawartosc;
}
}
if (!$koszyk)
$koszyk = new koszyk;
if ($dodaj)
$koszyk->dodaj($dodaj, 1); //dodaj($element, $ilosc) - dodaje $ilosc $elementow do koszyka
if ($usun)
$koszyk->usun($usun, 1); //usun($element, $ilosc) - usuwa $ilosc $elementow z koszyka
session_register("koszyk");
$stan = $koszyk->stan(); //zwraca zawartosc w postaci hasza
......
$stan = $koszyk->stan();
if ($stan)
while (list($key, $value) = each($stan))
echo "$key $value<br>";
.....
?>[/php]
Otóż na mojej stronie niektóre asortymenty maja rozmiar i kolor (do wyboru checkboxem) i chciałabym by te dane też były przechowywane w koszyku. Jak można przerobić tą funkcję dodaj?
Czy da się to jakoś zrobić na zasadzie:
[php]<?php
function dodaj($element, $ilosc, $kolor, $rozmiar) { //??? }
?>[/php]
Jeśli się da to jak potem wyciągnąć te dane tym sposobem:
[php]<?php
while (list($key, $value) = each($stan)) echo "$key $value<br>";
?>[/php]
na początek powiem, że nie umiem programować obiektowo, ale znalazłam bardzo czytelny kawałek skryptu, który chciałabym lekko zmodyfikować, ale nie wiem jak. Mam prarę pomysłów, ale z chęcią poznam Wasze.
[php]<?php
class koszyk
{
/* tablica asocjacyjna zawierajaca stan koszyka */
/* klucz, to wartosc id produktu, wartosc to ilosc elementow */
var $zawartosc;
function dodaj($element, $ilosc)
{
$this->zawartosc[$element] += $ilosc;
}
function usun($element, $ilosc)
{
if ($this->zawartosc[$element] > $ilosc)
$this->zawartosc[$element] -= $ilosc;
else
unset($this->zawartosc[$element]);
}
function stan()
{
return $this->zawartosc;
}
}
if (!$koszyk)
$koszyk = new koszyk;
if ($dodaj)
$koszyk->dodaj($dodaj, 1); //dodaj($element, $ilosc) - dodaje $ilosc $elementow do koszyka
if ($usun)
$koszyk->usun($usun, 1); //usun($element, $ilosc) - usuwa $ilosc $elementow z koszyka
session_register("koszyk");
$stan = $koszyk->stan(); //zwraca zawartosc w postaci hasza
......
$stan = $koszyk->stan();
if ($stan)
while (list($key, $value) = each($stan))
echo "$key $value<br>";
.....
?>[/php]
Otóż na mojej stronie niektóre asortymenty maja rozmiar i kolor (do wyboru checkboxem) i chciałabym by te dane też były przechowywane w koszyku. Jak można przerobić tą funkcję dodaj?
Czy da się to jakoś zrobić na zasadzie:
[php]<?php
function dodaj($element, $ilosc, $kolor, $rozmiar) { //??? }
?>[/php]
Jeśli się da to jak potem wyciągnąć te dane tym sposobem:
[php]<?php
while (list($key, $value) = each($stan)) echo "$key $value<br>";
?>[/php]