购物车用SESSION就可以轻松实现了,
将用户要购买的商品及数量和价格保存在SESSION中,
等到结帐的时候再进行数据库的操作。
另,商品一般来说由一个模板建立,如有特殊情况可以特殊考虑

解决方案 »

  1.   

    嘻嘻,由于自己的东西,所以提供一点点参考讯息给你吧,希望有用.我不能全贴出来,请谅解
    echo "<FORM ACTION=\"shop_addcart.php\" METHOD=\"POST\" style=margin-bottom:0px;margin-top:0px>
    <INPUT TYPE=\"hidden\" NAME=\"itemid\" VALUE=\"$addtocart\" checked>
    <INPUT TYPE=\"hidden\" Name=\"itemquantity\" Value=\"1\" size=\"2\">
    <INPUT TYPE=\"hidden\" NAME=\"sessions\" VALUE=\"$sessions\">";
    $date=date("Y:z:Y-m-d");
    //if (empty($checkoutonline)){echo "<a href=javascript:>".CHECKOUT_ONLINE."</a><br>";}else{
    //echo "<a href=$checkoutonline target=_blank>".CHECKOUT_ONLINE."</a><br>";}
    echo "<input type=\"hidden\" name=\"date\" value=\"$date\">";
    echo "<input type=\"hidden\" name=\"carid\" value=\"\">
    <input type=image border=0 name=Order src=images/buynow.gif alt=\"".ADDTHISITEM."\">
    </FORM>
    mysql_query("INSERT INTO shop_carts (carid,userid,usersid,itemid,itemquantity,date) VALUES
    ('$carid','$sessions','{$session["uid"]}','$itemid','$itemquantity','$date')");Header("Location: shop_cart.php?sessions=$sessions");
    echo "<script language='javascript'>history.back();</script>";
    echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"10; URL=shop_cart.php?sessions=$sessions\">";
    echo "<script>window.location =\"shop_cart.php?sessions=$sessions\";</script>";
    暂时写这么多了哈.
    用session的.结合会员系统和价格系统以及库存系统.
      

  2.   

    通过session传递给订单,然后写入数据库.
      

  3.   

    可以用面向对象写一个类.然后在类里面实现所有的购物功能.
    <?//Cart.incclass Cart
    {
    var $s_id = array();
    var $s_name = array();
    var $s_price = array();
    var $s_num = array();
    var $s_total = array();
    var $s_count;
    var $i;

    function s_rcart() //显示购物车
    {
    $this->s_count   =  count($this->s_id);
    for($i=0;$i<$this->s_count;$i++)
    echo "{$this->s_id[$i]},{$this->s_name[$i]},{$this->s_price[$i]},{$this->s_num[$i]},{$this->s_total[$i]},{$this->s_count[$i]}<br/>";
    }
    function add_cart($s_id,$s_name,$s_price,$s_num) //加入车
    {
    $this->s_rcart();
    if(!$this->in_cart($s_id))
    {
    $this->s_id[]     = $s_id;
    $this->s_name[]   = $s_name;
    $this->s_price[]  = $s_price;
    $this->s_num[]    = $s_num;
    $this->s_total[]  = $s_num*$s_price;
    }
    }

    function If_in_cart($s_id)                            //是否在车里
    {
    for($i=0;$i<=$this->s_count;$i++)
    {
    if($this->s_id[$i]==$s_id)
    return true;
    }
    return false;
    }

    function in_cart_of($s_id)                            //在车里的id
    {
    for($i=0;$i<=$this->s_count;$i++)
    {
    if($this->s_id[$i]==$s_id)
    return $i;
    }
    }
    function in_cart($s_id)                                   //是不是在车里,如在则在更改数量及总额
    {
    if($this->If_in_cart($s_id))
    {
    $i=$this->in_cart_of($s_id);
    $this->s_num[$i]=$this->s_num[$i]+1;
    $this->s_total[$i]=$this->s_num[$i]*$this->s_price[$i];
    return true;

    }
    return false;
    }

    function edit_cart($s_id,$s_name,$s_price,$s_num) //修改
    {
    $this->s_rcart();
    $i=$this->in_cart_of($s_id); $this->s_id[$i]     = $s_id;
    $this->s_name[$i]   = $s_name;
    $this->s_price[$i]  = $s_price;
    $this->s_num[$i]    = $s_num;
    $this->s_total[$i]  = $s_num*$s_price; $this->s_update();
    }


    function s_remove($s_id) //删除某物
    {
    $this->s_rcart();
    for($i=0;$i<=$this->s_count;$i++)
    {
    if($this->s_id[$i]==$s_id)
    {
    unset($this->s_id[$i]);
    unset($this->s_name[$i]);
    unset($this->s_price[$i]);
    unset($this->s_num[$i]);
    unset($this->s_total[$i]);
    }
    }
    $this->s_update();
    }


    function s_reset() //清空
    {
    unset($this->s_id);
    unset($this->s_name);
    unset($this->s_price);
    unset($this->s_num);
    unset($this->s_total);

    unset($_SESSION['s_id']);
    unset($_SESSION['s_name']);
    unset($_SESSION['s_price']);
    unset($_SESSION['s_num']);
    unset($_SESSION['s_total']);
    }

    }
    /*************************************************************
    调用
    */
    session_start();
    if(!isset($_SESSION['cart']))
      $_SESSION['cart'] = new Cart;$cart =& $_SESSION['cart'];
    $s_id = "002";
    $s_name = "test2";
    $s_price = 10;
    $s_num = 1;
    $cart->add_cart($s_id,$s_name,$s_price,$s_num);print_r($cart);
    ?>