0

私は構築しようとしているこのショッピング カートを持っており、他の誰かが開発したサンプル セットアップを見つけました。ほとんどの場合、必要なことを行うように変更することができました。

私にとっての問題は、「カートに追加」するときに新しい行/インスタンスを作成する代わりに、その特定のアイテムの数量を更新することです。アイテムの数量を更新するのではなく、新しい行を作成するために必要です (詳細な変更では、「カートに追加」する前に色/サイズ/素材などを選択するため)。

間違いなく、これは私が以下に示したものを単純に変更したものですが、これを正しく行うための私の試みはすべて失敗しました。しかし、以下は何が起こっているかの単純化されたバージョンです:

switch($action) {
case "add":
    $_SESSION['cart'][$product_id]++;
break;
}

if($_SESSION['cart']) {

foreach($_SESSION['cart'] as $product_id => $quantity) {    

    $sql = sprintf("SELECT title, description, price FROM shoes WHERE id = %d;", $product_id);
    $result = mysql_query($sql);

    if(mysql_num_rows($result) > 0) {

        list($title, $description, $price) = mysql_fetch_row($result);
        $line_cost = $price * $quantity;
        $total = $total + $line_cost;
        echo "  $title<br />
                $quantity <a href=\"$_SERVER[PHP_SELF]?action=remove&id=$product_id\">X</a><br />
                $line_cost";

        }           
    }
}
4

1 に答える 1

0

これにより新しい行が作成されますが、何をしているのかよくわかりません

switch($action) {
    case "add":
        $_SESSION['cart'][$product_id][];
        break;
}
于 2013-07-05T13:13:54.333 に答える