导航:首页 > 编程语言 > php购物车

php购物车

发布时间:2022-01-17 00:00:11

1. php 购物车。 在一产品列表上,任选多个产品,然后直接提交到购物车上。请问这个代码如何写,需要具体代码

可以用数组提交
表单中 这么写 <input name="a[]" type="checkbox" /> <input name="id[]" type="hidden" /><input name="num[]" />
关键是name=" "写成数组,具体写法看你的具体情况
后台
//循环处理 产品信息

foreach($a as $k => $v)
{
$now_id = $_POST['id'][$k];
$now_num = $_POST['num'][$k];
//下面你自己写

}

2. 求php增加购物车数量的加减,

伪代码:
前端:在你页面上数量那栏增加

<div class="quantity-form"><a href="javascript:void(0);" clstag="cart_num_down" class="decrement disabled" id="decrement_8888_526830_1_1">-</a>
<input autocomplete="off" type="text" class="itxt" value="1" id="changeQuantity_8888_526830_1_1_0" minnum="1">
<a href="javascript:void(0);" clstag="cart_num_up" class="increment" id="increment_8888_526830_1_1_0">+</a>
</div>
你的购物车是个循环列表,可以去得到,每个商品的信息:id是商品
function cart_num_up(id,uid){
$.ajax({
type: "POST",
url: "CART_num.PHP",
data: {id:id, num:-1,uid:uid},
dataType: "json",
success: function(data){
if(data.status==1){

});
});

}
function cart_num_down(id,uid){
$.ajax({
type: "POST",
url: "CART_num.PHP",
data: {id:id, num:1,uid:uid},
dataType: "json",
success: function(data){
if(data.status==1){

});
});
}
点一次 加或减按钮,触发js向后端发起ajax请求:返回的是增加成功和失败状态和剩余数量;
CART_num.PHP
$id = (int)$_POST['id'];
$num = (int)$_POST['num'];
$uid =(int)$_POST['uid']; //有封装获取post或get函数更好
//查库看库存
$sort = get_kucun_num();
//查看购物车目前数量
$cart_num = get_cart_num(uid,id);
//判断库存
if($sort >$cart_num){
}else{
}

if($num<0){
//减法 $sql =“update cart set cart_num = cart_num-1 where uid =uid and id =id ”
if(($cart_num-1)>1){
}else{
}){
//加法 $sql =“update cart set cart_num = cart_num+1 where uid =uid and id =id ”
}else{
//不正确的请求
}

3. PHP如何用Cookie做购物车

我有个session的例子你看看吧!!!你把session换成cookie就可以了!!!

//增加购物车物品
if($name==$_SESSION["car"][$name]["name"])
{
$_SESSION["car"][$name]["count"]++;
}
else{
$_SESSION["car"][$name]["name"]=$name;
$_SESSION["car"][$name]["maney"]=$maney;
$_SESSION["car"][$name]["count"]=1;
}

//删除物品
if( $_SESSION["car"][$name]["count"]>1 && $dele=='1')
{
$_SESSION["car"][$a]["count"]--;
}

4. php 实现 购物车 提交到 订单的数据库

用户登陆后系统应该会分配一个session : id,这个id应该是改用于的用户表id。然后再做一个购物车的表,里面可以只考虑存商品id、用户id等关键信息;
当用户提交购买的时候再做相关的操作,具体可以参考淘宝、天猫的购物车已经后续付款效果。

5. 【高分】急求用php写的购物车代码!!!!!(十万火急)如果您提供的好用还有加分!!!

我也要弄一个这种购物车,
我去写个,贴出来,【嘿嘿,今天上午新写的】。
我懒得新建数据库,用的是我的数据库。
你按照我的改一下就能用了
本人水平有限,高手请指正。
你,大,爷的,虽然不咋地,保证能用
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
经过调试,
//$my->add_cart(45,3,"茶几系列");//新增购物
//$my->updata_cart(13,13,8); //更新购物
//$my->del_cart(12,5,'Guest'); //删除一种购物
//$my->empty_cart('Guest'); //清空购物车
$ok=$my->get_cart('Guest'); //返回购物车
这些都可用
-------------------------------------------------------------------
<?php

class Cart
{

public $totalCost=0; //商品总金额

function cart($host,$usr,$pwd,$db)
{
mysql_connect($host,$usr,$pwd) or die(mysql_error);
mysql_select_db($db) or die(mysql_error);
mysql_query("SET Names GBk");
//只要有人访问,就自动清除一天前所有没付款的订单;
$sql="delete FROM shopcart WHERE TO_DAYS( NOW( )) - TO_DAYS( ptime ) >=1 and payment=0";
mysql_query($sql);

}

// 弹出提示
function alter($Str,$Url)
{
echo "<Script language='JavaScript'> alert('".$Str."');</Script>";
echo "<meta http-equiv=refresh content=0;URL=".$Url.">";
}

//增加购物;三个参数:pid:产品ID,ptl:产品数量,pcid:产品类别
//查询数据库,是否存在此人在本日内订过本产品
//如果订过,那么数量累加,否则插入一个数据库行
function add_cart($pid,$ptl=1,$pcid)
{
if($ptl>=100 || $ptl<=0)
{
$this->alter("最多买99件,最少1件","index.php");
die();
}

if(!$_SESSION['usr']) { $usr='Guest';}
else { $usr=$_SESSION['usr'];}

$sql="select * from shopcart where pid='".$pid."' and usr='".$usr."' and pcid='".$pcid."'";
$ex=mysql_query($sql);
$ex1=mysql_fetch_array($ex);

if(!$ex1)
{
$sql="select * from proct where ID='".$pid."' and class1='".$pcid."'";
$ok=mysql_query($sql);
$rs=mysql_fetch_array($ok);

if($rs)
{
$totalCost= $rs['Price'] * $ptl;

$sql="insert into shopcart(usr,pid,pname,ptl,price,pcid,psum,payment) Values(";
$sql.="'".$usr."',";
$sql.="'".$rs['ID']."',";
$sql.="'".$rs['Name']."',";
$sql.="'".$ptl."',";
$sql.="'".$rs['Price']."',";
$sql.="'".$rs['Class1']."',";
$sql.="'".$totalCost."',";
$sql.="'0')";

mysql_query($sql) or die(mysql_error());
if($ok) { $this->alter("购物成功","index.php"); }
else { $this->alter("购物失败","index.php"); }

}
else
{
$this->alter("不存在的商品,或者参数错误","index.php");
die();
}
}
else
{
$sql="update shopcart set ptl= ptl+1,psum = psum+price where ID='".$ex1['ID']."'";
mysql_query($sql);
$this->alter("更新数量成功","index.php");
}

}

//更新购物车的单个产品的数量;
function updata_cart($cid,$ptl,$pid)
{
if($ptl>=100||$ptl<=0)
{
$this->alter('产品数量不对!','index.php');
die();
}
$sql="select * from shopcart where ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!ok) { alter("参数发生错误","index.php");}
else
{
$sql="update shopcart set ptl='".$ptl."',psum=price * '".$ptl."' where ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!ok) { $this->alter("更新失败","index.php");}
else { $this->alter("更新成功","index.php");}
}
}
function del_cart($cid,$pid,$usr)
{
$sql="delete from shopcart where usr='".$usr."' and ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!$ok) {$this->alter("删除失败","index.php");}
else {$this->alter("删除成功","index.php");}
}

function empty_cart($usr)
{
$sql="delete from shopcart where usr='".$usr."'";
mysql_query($sql) or die(mysql_error);
}

function get_cart($usr)
{
$sql="select * from shopcart where usr='".$usr."'";
$ok=mysql_query($sql);
return $ok;
}

}
$my = new Cart("localhost","root","root","mybbs");
//$my->add_cart(45,3,"茶几系列");
//$my->updata_cart(13,13,8);
//$my->del_cart(12,5,'Guest');
//$my->empty_cart('Guest');
$ok=$my->get_cart('Admin');

echo "usr pid pname ptl price pcid psum payment ptime <br><hr><br>";
while($rs=mysql_fetch_array($ok))
{
echo $rs[1]."->".$rs[2]."->".$rs[3]."->".$rs[4]."->".$rs[5]."->".$rs[6]."->".$rs[7]."->".$rs[8]."->".$rs[9]."<br>";

}

?>

、、、、、、、、、、、、、、、、、SQL、、、、、、、、、、、、、、

CREATE TABLE IF NOT EXISTS `shopcart` (
`ID` int(10) NOT NULL auto_increment,
`usr` varchar(50) NOT NULL,
`pid` int(5) NOT NULL,
`pname` varchar(100) NOT NULL,
`ptl` int(3) NOT NULL,
`price` decimal(50,2) NOT NULL default '0.00',
`pcid` varchar(100) NOT NULL,
`psum` decimal(50,2) NOT NULL default '0.00',
`payment` tinyint(1) NOT NULL,
`ptime` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`ID`)
)

proct 里面用的ID CLASS1是

`ID` int(6) NOT NULL auto_increment,
`Class1` varchar(20) NOT NULL,
`Price` int(6) NOT NULL,

6. 购物车源码思路PHP

首先确定购物车中商品结构(都有哪些字段)。
比如:商品ID,商品名称,数量,单价等等。
然后,将这些结构定义在数组里
array(
商品ID1=>array('name'=>'商品','num'=>1,'price'=>100),
商品ID2=>array('name'=>'商品','num'=>1,'price'=>100),
)
然后把这个大的数组保存在SESSION里。就可以了。
PHP有很多数组操作函数用起来也很方便。

7. php购物车点击加减的时候在不刷新页面的时候,价格相对增加或减少该怎么实现

页面只是一个效果,可以通过js直接计算出价格后,再替换原来的价格‘价格对应元素的对象.text('新的价格')’显示出来;
如果结算方式比较复杂,建议通过Ajax传值到后台进行计算后,再替换原来的价格‘价格对应元素的对象.text('新的价格')’显示出来;
obj.prev.val(++num);
之后加入下行(如果class='number'的元素是价格显示区域的话)
obj.closest('.btn-numbox').find('.number').text(num*单价);

8. 我用PHP做的购物车,为什么每次往购物车中添加不同商品 ,购物车中确显示的同一件商品啊

这个需要看你的购物车结构。
一般一个属性的商品是在一条数据里面,多次加入只是更改数量
不同属性的商品应该分多条数据保存。最后购物车统计的是总的数量

9. php购物车添加和减少数量以及计算总金额

增减里面的get的是 BID ,你传值用的是 id ,所以session里面获取不到$I_ID的值 ,默认变成空字符串,所以你后面的增减操作都是对中间那个没有id的进行操作 .

总量遍历数组,把单价和数量相乘 然后相加 .

10. PHP怎么做购物车

用户操作的数据暂存在cookie或者session里,生成订单的时候从以上两者读取相关数据,结合数据库查询生成订单. 好像没什么困难的原理啊.

阅读全文

与php购物车相关的资料

热点内容
用什么APP查指数 浏览:919
什么是作品源码 浏览:669
我的理想程序员该怎么写 浏览:840
英译中国现代散文选pdf 浏览:446
装饰设计模式java 浏览:21
linuxshell清屏命令 浏览:134
惠利app是什么 浏览:779
游戏端口读取服务器失败怎么弄 浏览:878
linux修复mbr 浏览:128
磁盘格式化基本命令 浏览:578
程序员掉入异世界 浏览:954
andlua画质助手源码 浏览:577
winrar解压格式怎么看 浏览:147
qt编程入门pdf 浏览:599
php中是根据指针查的数据吗 浏览:276
安卓手机驱动为什么不能提取通用 浏览:708
转行程序员失败的人 浏览:728
延迟命令方块 浏览:499
某视频网站为什么安卓可以投屏 浏览:651
服务器解释器在哪个文件夹 浏览:95