Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wrzucanie do koszyka
Forum PHP.pl > Forum > PHP
Grandi
Kolejny mój problem polega na tym , że po odświerzeniu strony na której towar jest wrzucany do koszyka, towar ten wrzucany jest jeszcze raz. Pewnie to tez jest banalne, ale dla kogoś kto się dopiero uczy trudne. Więc z góry wielkie thanks ! :wink:
rzseattle
Moglbys podac troche kodu ,,,, no ale jesli dzialasz na sesji to takie cos powinno wystarczyc

Kod
if ($co_wykonac=='do_koszyka')



{

if (!$koszyk){$koszyk = new Koszyk; }

$koszyk->dodaj_produkt($id_towaru, $ilosc);

$co_wykonac='asd';

}


To jest kod obslugujacy standardowy koszyk z manuala bo pewnie tego uzywasz
Grandi
Cytat
Moglbys podac troche kodu ,,,, no ale jesli dzialasz na sesji to takie cos powinno wystarczyc

Kod
if ($co_wykonac=='do_koszyka')



{

if (!$koszyk){$koszyk = new Koszyk; }

$koszyk->dodaj_produkt($id_towaru, $ilosc);

$co_wykonac='asd';

}


To jest kod obslugujacy standardowy koszyk z manuala bo pewnie tego uzywasz


Dzieki. Juz to testuje... laugh.gif
Grandi
Oto kawałek kodu. Jednak sobie nie poradziłem .

Moje wrzucanie do koszyka wykonywane przy pierwszym wejściu na stronę 'do_koszyka' wygląda tak :

$mysql_link2 = mysql_connect("localhost", "httpd", "");
mysql_select_db("fubu", $mysql_link2);
$query2 = "INSERT INTO koszyk (NR_Zamowienia,ID_Towaru,Ilosc,Data_kosz,Czas_Kosz,Adres_IP) VALUES ('$logowanie','$row[0]','1',now(),now(),'10.103.36.36') ";
$mysql_result2 = mysql_query($query2, $mysql_link2);


$row[0], czyli id_towaru.

Wrzuca ... 1 raz towar

Później pojawia się pole do zmiany ilości sztuk :

print(" Kup : ");
print("<FONT FACE="Arial"><INPUT NAME="ilosc" SIZE=1>");
print("&nbsp;szt.&nbsp;<input type=submit value="ok."></FORM>");

i reakcją na to kliknięcie ma być:

$mysql_link5 = mysql_connect("localhost", "httpd", "");
mysql_select_db("fubu", $mysql_link5);
$query5 = "UPDATE koszyk SET ilosc = '$ilosc' WHERE id_towaru = '$row[0]'";
$mysql_result5 = mysql_query($query5, $mysql_link5);

Próbowałem to też zrobić tak żeby przy pierwszym wejściu na strone 'do_koszyka' towar się nie wrzucał, tylko dopieoro po wpisaniu ilości. Ale wolałbym żeby działało tak. Jak klient chce to dopiero zwiękasza ilość sztuk.

No i przyznaję się że nie rozumię tego polecenia w Twoim kodzie (ach Ci poczatkujacy :oops: ) : $koszyk->dodaj_produkt($row[0], $ilosc);

znak -> oznacza przypisanie pod ta zmienną , która jest tablica, jednego rekordu ?
A ta druga część to wywołanie funkcji dodaj_produkt, którą musze gdzieś wcześniej zadeklarować?

Proszę jeszcze raz o wyrozumiałość i pomoc. :? sad.gif

P.S. Tak pracuję na sessji

Aha !I tak już na marginesie to czy trudne jest wpisywanie, zamiast na sztywno wpisanego IP, faktycznego IP urzytkownika, który jest zalogowany?
Grandi
Problem nieaktulany. Poradziłem sobie. Nie dokładnie tak jak radził rzseattle ale przy pomocy if'a (czyli prawie tak ... biggrin.gif ). I teraz to wygląda tak prosto biggrin.gif
W każdym bądź razie dzięki za nakierowanie !

:wink: smile.gif

Aha ! Gdyby ktoś wiedział coś o tym wpisywaniu IP do bazy !? rolleyes.gif
scanner
Cytat
Aha ! Gdyby ktoś wiedział coś o tym wpisywaniu IP do bazy !?
Kod
<?php echo $_SERVER['REMOTE_ADDR'] ?>
rzseattle
Cytat
No i przyznaję się że nie rozumię tego polecenia w Twoim kodzie (ach Ci poczatkujacy  :oops: ) : $koszyk->dodaj_produkt($row[0], $ilosc);  

znak -> oznacza przypisanie pod ta zmienną , która jest tablica, jednego rekordu ?
A ta druga część to wywołanie funkcji dodaj_produkt, którą musze gdzieś wcześniej zadeklarować?


Napisalem juz ze jest to standardowy koszyk z manuala
Kod
class Koszyk

{

    var $zakupy;  // Zakupy w naszym koszyku

  

    // Dodaj $num artykułów typu $artnr do wózka



    function dodaj_produkt ($artnr, $num)

    {

        $this->zakupy[$artnr] += $num;

    }

  

    // Usuń $num artykułów typu $artnr z wózka



    function usun_produkt ($artnr, $num)

    {

        if ($this->zakupy[$artnr] > $num) {

            $this->zakupy[$artnr] -= $num;

            return true;

        } else {

            return false;

        }  

    }

}


To tak tylko dla twojej informacji:
$koszk jest to nazwa klasy a "->" wywoluje funkcje zawarta w tej klasie

ps. Jesli bys chcial uzywac tego koszyka to przerob sobie funkcje usun_produkt bo ta funkcja w orginale potrafi tylko odejmowac pewna ilosc z juz kupionych reczy a nie potrafi calkowicie wymazac tej rzeczy (chyba mnie zrozumiales biggrin.gif )
Grandi
Cytat
Cytat
Aha ! Gdyby ktoś wiedział coś o tym wpisywaniu IP do bazy !?
Kod
<?php echo $_SERVER['REMOTE_ADDR'] ?>


Diękuje.. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.