Witam.
Mam problem z koszykiem do mojej strony. Próbuję zrobić taki koszyk aby po przesłaniu mu linkiem 4 danych dodawał je do koszyka a później je wyświetlał.
Mam taki koszyk który po przesłaniu mu akcji i wartości np. "pid"=6 (product_id) i akcja "do"=Add (dodaj do koszyka), Dodaje określony produkt do koszyka.
Link wygląda tak: .....cart.php?pid=6&do=Add

Ten skrypt działa świetnie i po przekazaniu mu produktu id wyszukuje go w bazie i wyświetla pozostałe inf na temat tego produktu np. cena, nr_katalogowy, opis.

Ponieważ bedę kożystał z bazy danych oraz z plików tekstowych z cennikami próbowałem zrobić coś takiego :
W linku przekazywane są dane o id_produktu, nazwie, cenie, nr_katalogowym .....cart.php?pid=6&do=Add&nazwa=akumulator&nr_katalogowy=987654321&cena=98576

ale nie chce mi to działać, coś się dodaje do koszyka ale nie widać cen, nazwy, nr_kat ....

Czy ktoś mógłby rzucić na to okiem i napisać jak to przerobić żeby było dobrze.
Z góry dzięki za jakąkolwie pomoc. Ja spędziłem nad tym już całą niedzielę i nic konkretnego nie jestem w stanie wymyślić.

Oto skrypty które dodają przedmioty do koszyka na podstawie bazy danych
PLIK cart.php
Kod
<?php

require_once ("ShoppingCart.class"); // Dołączenie klasy.

session_start(); // Rozpoczęcie sesji.



if (isset ($HTTP_SESSION_VARS['cart'])) { // Jeżeli już rozpoczęto sesję(obiekt istnieje)...

        $cart = $HTTP_SESSION_VARS['cart'];

} else {

        $cart = new ShoppingCart();

}

switch ($HTTP_GET_VARS['do']) {

        case "Add":

                $cart->AddItem ($HTTP_GET_VARS[pid]);

                $cart->DisplayCart();

                break;

        case "Drop":

                $cart->DropItem ($HTTP_GET_VARS[pid]);

                $cart->DisplayCart();

                break;

        case "Change":

                foreach ($HTTP_POST_VARS[pid] as $key => $value) {

                        $cart->ChangeQuantity ($key, $value);

                }

                $cart->DisplayCart();

                break;

        case "Display":

                $cart->DisplayCart();

                break;

        default:

                $cart->DisplayCart();

                break; // To samo co display.

}

session_register ('cart');

?>



PLIK ShoppingCart.class
Kod
<?php

class ShoppingCart {

        var $items = array(); // jedyne pole (zmienna) wymagana przez ta klase jest tablica items

        // Funkcja służąca do dodawania towaru do koszyka.  Jezeli taki towar juz sie znajduje w koszyku to zwiekszamy o 1

        function AddItem ($item) {

                if ($this->items[$item]) {

                        $this->items[$item] = $this->items[$item] + 1;

                } else {

                        $this->items[$item] = 1;

                }

        }

        // Funkcja służąca do usuwania towaru z koszyka.   Ustawiamy ilosc wybranej pozycji na 0

        function DropItem ($item) {

                $this->items[$item] = 0;

        }

        // Funkcja służąca do modyfikacji ilości.    2 argumenty jak 0 to usuwa produkt a jak liczba to podmienia wartosc

        function ChangeQuantity ($item, $quantity) {

                if ($quantity == 0) {

                        $this->DropItem($item);

                } else {

                        $this->items[$item] = $quantity;

                }

        }

        // Function wyświetlająca zawartość koszyka.

        function DisplayCart () {

                global $db_connection;

                // Wyświetlenie tabeli i początek formularza.

                echo '<form action="cart.php?do=Change" method="post">

                <table>

                        <tr>

                                <td align="center"><b>Nazwa towaru</b></td>

                                <td align="center"><b>Rozmiar towaru</b></td>

                                <td align="center"><b>Odmiana towaru</b></td>

                                <td align="center"><b>Cena jednostkowa</b></td>

                                <td align="center"><b>Ilość</b></td>

                                <td align="center"><b>Kwota razem</b></td>

                                <td align="center"><b>Usuń</b></td>

                        </tr>

                        ';

                // Pętla dla wszystkich pozycji koszyka.

                foreach ($this->items as $key => $value) {

                        $was_one = FALSE; // sztuczna zmienna

                        if ($value != 0) {

                                $was_one = TRUE;

                                $query = "select towary.towar_id, towary_nazwa.nazwa_towaru AS NAZWA, towary_rozmiar.rozmiar_towaru AS ROZMIAR, towary_odmiana.odmiana_towaru AS ODMIANA, towary.cena, towary.dostepny from towary, towary_nazwa, towary_rozmiar, towary_odmiana where towary.nazwa_id = towary_nazwa.towary_nazwa_id and towary.rozmiar_id = towary_rozmiar.towary_rozmiar_id and towary.odmiana_id = towary_odmiana.towary_odmiana_id and towary.towar_id = '$key'";

                                $db_query = mysql_query ($query, $db_connection) or die (mysql_error());

                                $row = mysql_fetch_array ($db_query);

                                $sub_total = sprintf ("%01.2f", ($value * $row[cena]));

                                $total += $sub_total;

                                echo "        <tr>

                                        <td align="center">$row[NAZWA]</td>

                                        <td align="center">$row[ROZMIAR]</td>

                                        <td align="center">$row[ODMIANA]</td>

                                        <td align="center">$row[cena] PLN</td>

                                        <td align="center"><input type="text" name="pid[$key]" size="2" maxsize="3" value="$value"></td>

                                        <td align="center">$sub_total PLN</td>

                                        <td align="center"><a href="cart.php?pid=$key&do=Drop">Usuń</a></td>

                                </tr>n";

                        }

                }

                // Uzupełnienie tabeli i formularza.

                echo '<tr>

                                <td align="right" colspan="5">Razem</td>

                                <td align="center">';

                printf ("%01.2f", $total);

                echo ' PLN        </td>

                                <td align="center">&nbsp;</td>

                        </tr>

                        <input type="hidden" name="do" value="Change">

                </table>

                Aby uaktualnić ilości, należy zmienić wartości powyżej i kliknąć w tym miejscu <input type="submit" name="submit" value="Zmień ilości">

                <input type="hidden" name="do" value="Change">

                </form>';

                if (!$was_one) {

                        echo '<br /><font color="#CC0000"><big>Twój koszyk jest pusty.</big></font>';

                }

        } // Koniec funkcji DisplayCart().

} // Koniec klasy.

?>