资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php数据库购物车下载,php加入购物车怎样实现

PHP怎么做购物车?

购物车

创新互联建站专注于吉隆网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供吉隆营销型网站建设,吉隆网站制作、吉隆网页设计、吉隆网站官网定制、微信小程序服务,打造吉隆网络公司原创品牌,更为您提供吉隆网站排名全网营销落地服务。

有两种实现方式,一种是保存在数据库,另外一种是session

保存在数据库的不会以为关闭浏览器而消失,session会因为关闭浏览器就没有了。

原理是把每个商品的信息存到一个数组里面,然后以这个商品的id作为键值,然后吧数组存到session里面就行,

如果是存入数据库的话,就用关联数据存一下就行的

【高分】急求用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 product 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 brhrbr";

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`)

)

product 里面用的ID CLASS1是

`ID` int(6) NOT NULL auto_increment,

`Class1` varchar(20) NOT NULL,

`Price` int(6) NOT NULL,

php获取数据库信息到购物车页面

sql语句是select * from 你先打印出来查询的数据,再输出想要的数据在页面就行了

php关于用数据库作为购物车的原理

我来解答一下你的疑惑

买了两个产品。那就是执行了两次

insert

into

temp_table

(uid,productid,pnum,poneprice,ptotalprice)

如果

productid相同则,

pnum

=

pnum+1;

ptotalprice

=

pnum*poneprice

假设前提是

当前两条记录的产品不同,那么购物车列表则是循环读取temp_table列出现有符合条件之产品,数量,价格。

修改2个产品数量的时候,

提交后,同样的文本框pnum为一个数组,productid为一个数组

获取pnum,productid,并且用

split分析后,

分别update

update

temp_table

set

pnum='".$pnum[0]."',ptotalprice='..省略.'

where

uid=自己的uid

and

productid='".$productid[0]."'

注意,这里数组下标要对应好,你可以用个循环。

最后,当订单下好之后,要把临时表的数据转移到正式表中,并且清理掉当前这个用户临时表的内容即可。


文章题目:php数据库购物车下载,php加入购物车怎样实现
文章位置:http://cdkjz.cn/article/dsihejp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220