求教做购物车思路,越详细越好

#1 改变命运2023

现在正在做购物车,思路不是太清晰,虽然看了jake的购物车帖子,但还是不是太明白,怎么来实现。谢谢。

2012-04-19 16:17:00

#2 jake

你的问题也太不清晰了。

或者你可以到一些购物网站去,体验体验购物车是怎么一回事,然后再自己设计一下。不懂再问题。

2012-04-19 17:01:35

#3 改变命运2023

jake 发表于 2012-4-19 17:01
你的问题也太不清晰了。

或者你可以到一些购物网站去,体验体验购物车是怎么一回事,然后再自己设计一下。 ...
我主要还是对于购物车的设计不熟悉。昨天晚上我我都不知道怎么用cookie来控制购物车,session也不管用。乱成麻了。呵呵。就是没有一个具体的思路。我现在只是没有通过session控制,做成了订单生成。可以直接购买。但是与实际情况不是太符合。又迷茫了。求点拨。{:soso_e113:}

2012-04-20 08:44:30

#4 jake

你要提出问题,才有答案。你的问题是什么?

cookie和session一样,都是存数据的,你能用session,就会用cookie。

2012-04-20 09:19:00

#5 改变命运2023

jake 发表于 2012-4-20 09:19
你要提出问题,才有答案。你的问题是什么?

cookie和session一样,都是存数据的,你能用session,就会用co ...
我现在想了一个具体的问题,就是,我现在想提交一个表单,但是不想用的"name",但是其它的又花取不了产品的名称和单价,我已经有了一个隐藏域了。再添加,恐怕布局就乱了,我想请教有没有其它办法实现。谢谢

2012-04-23 15:17:16

#6 jake

http://www.speedphp.com/interaction-ajax.html

2012-04-23 16:29:34

#7 改变命运2023

jake 发表于 2012-4-23 16:29
http://www.speedphp.com/interaction-ajax.html
还是不明白。我的意思是我之前提交数据都是通过过来实现,但是现在不行,您看我的代码和表现页面
order_form.html展示及代码
未命名.jpg
               
                          
                           
                           
                           
                          
                          
                           
                           
                          
                          
                           
                           
                          
                          
                           
                           
                          
                          
                           
                           
                          
                          
                           
                           
                          
                          
                           
                           
                          
                          
                        
                  

               

               

                    

                        

支付及配送方式


                    

                    

                        
                          
                           
                           
                          
                          
                           
                           
                          
                          
                           
                           
                          
                        
支付方式:在线支付
配送方式:快递
运  费:0.00

                    

               

               

                    
<{foreach from=$result item=cart }>
                        

商品清单


                    

                    

                        
                          
                          
                           
                           
                           
                           
                          
                          
               
               
               
               
                        
                          
                     
商品名称商品价格商吕数量商品总价
<{$cart.name}><{$cart.price}><{$cart.count}><{$cart.countprice}>


                    

               

               

                    

                        

结算信息


                    

                    

                        


                            商品金额:<{$cart.countprice}>元 + 运费:0.00元
                        


                        


                            应付金额:¥<{$cart.countprice}>
                        


                        <{/foreach}>
                    

               

               

               
               
function submitorder(){
        $tpl = $this->spArgs("tpl","default");
         $s_order = spClass("s_order");
         $products = spClass("products");
        
order控制器下的submitorder方法:
            $newrow = array( // 这里制作新增记录的值
            'pro_id'=>$this->spArgs('pro_id'),
            'price'=>$this->spArgs('price'),
            'name'=> $this->spArgs('name'),
            'pronum'=>$this->spArgs('pronum'),
            'state'=>$this->spArgs('state'),
            'count'=>$this->spArgs('count'),
            'address'=>$this->spArgs('address'),
            'mphone'=>$this->spArgs('mphone'),
            'receiver'=>$this->spArgs('receiver')
        );        
    $o=$s_order->create($newrow);
    if($o){
        $this->jump(spUrl("order","ok_order"));
    }
谢谢。因为要将这些信息传到这个控制器下的方法内,之前一直用input标签。现在如果用的话,可能布局会乱。我以后会自己研究,像一些简单的问题,能自己解决就自己解决,决不麻烦您。

2012-04-23 18:01:04

#8 jake

ajax可以实现把表单,在不提交的情况下,把表单值传送到服务器上。

你可以参考手册里面那些ajax例子,看看如何无刷新提交数据。




不懂的问题,就问吧。其实我也没什么想法,主要是有时候如果你提供的信息不够,那么我也没办法去帮助到你。

有问题提提,我来回答回答。我们论坛赚赚人气也好,呵呵。{:soso_e113:}

2012-04-23 19:36:08

#9 coolcool1265

如果我用的话,少量对比可能会用session,大量的话就用cookie或者用缓存数据了。

2012-04-24 08:55:18

#10 bxhcsz

建议用cookie,这个问题其实和框架自身无关,购物车的增删改,可以用jquery去实现,其中还会涉及到js对cookie的操作,很多细节。
我也是个新手,给你发一个我写的,水平有限,大体这么个意思。
这个是添加到购物车,用了thickbox。
                
接收参数添加到购物车:
$pid=trim($_GET[pid]);
$pname=trim($_GET[pname]);
$myprice=trim($_GET[myprice]);
$nums=trim($_GET[nums]);
$customusername=trim($_GET[customs]);
$cartcontent=$pid."|".$pname."|".$myprice."|".$nums."|".$customusername;
//判断产品是否已存在购物车内
$t1=explode(",",$_COOKIE[osmaicart]);
foreach ($t1 as $value) {
        $t2=explode("|",$value);
        if ($t2[0]==$pid) {
        header('Location: cart.php');
        exit;
        }
}

        if ($_COOKIE[osmaicart]!="") {
                $pos=strpos($_COOKIE[osmaicart],"$cartcontent");
                if ($pos === false) {
                } else {
                }
        $cartcontent=$_COOKIE[osmaicart].",".$cartcontent;
        }
        setcookie("osmaicart",$cartcontent);
header('Location: cart.php');
这是对购物车的删除和数量修改: