求教做购物车思路,越详细越好
发布于:2022-01-17 09:50:54
#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
#7 改变命运2023
还是不明白。我的意思是我之前提交数据都是通过过
来实现,但是现在不行,您看我的代码和表现页面
order_form.html展示及代码
。
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');
这是对购物车的删除和数量修改: