php购物车?怎样用PHP编个购物车的程序
在这个信息爆炸的时代,了解php购物车和怎样用PHP编个购物车的程序的重要性不言而喻。本文将为您带来全面的解读,助您在这个领域中游刃有余。
求php增加购物车数量的加减,
伪代码:
前端:在你页面上数量那栏增加
<div class="quantity-form"><a rel="external nofollow" rel="external nofollow" 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 rel="external nofollow" rel="external nofollow" 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{
//不正确的请求
}
怎样用PHP编个购物车的程序
简单说了,可以用Dreamweaver做网页开发平台,PHPnow打包套件作为后台,包括Apache(作为服务器)+PHP(作为PHP库资源)+MySQL(作为数据库环境)。要在数据库的添加表单等等操作,在PhpAdmin下登录进入MySQL。
编辑网页的内容会在一个叫做htdocs的文件夹内,编辑数据库的内容会在一个叫data的文件夹内。
用Dreamweaver时要设置PHPnow的路径作为站点。
php 最新的购物车session类
我这有两个php代码一个是session写的,一个是cooking写的,这两个方法各有优劣,还没写成类,你可以看一下,希望对你有所帮助:
一。session类
<?php
if(isset($_SESSION[cart]))//判断购物车是否存在,如果存在把session付给它,如果不存在创建一个购物车;
{
$cart=$_SESSION[cart];
}
else
{
$cart=array();
}
$id=$_GET[id];
$price=$_GET[price];
$name=$_GET[name];
$act=$_GET[act];
switch($act)
{ case(buy):
{
if(isset($cart[$id]))
{
$cart[$id][num]+=1;
}
else
{$cart[$id][price]=$price;
$cart[$id][name]=$name;
$cart[$id][num]=1;
}
break;
}
case(del):
{
$id=$_GET[id];
unset($cart[$id]);
break;
}
case(delall):
{
unset($cart);
break;
}
case(change):
{
$id=$_POST[hidID];//数组
$textnum=$_POST[textnum];//数组
for($i=0;$i<count($id);$i++)
{
$cart[$id[$i]][num]=$textnum[$i];
}
break;
}
}
$_SESSION[cart]=$cart;
if($cart=="")
{
?>
<input type="button" value="继续购物" onClick="window.location.href='9_17.php'">
<?php
die(购物车已清空);
}
?>
<form action="?act=change" method="post">
<table width="600" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>编号</td>
<td>名称</td>
<td>价格</td>
<td>数量</td>
<td>小计</td>
<td>操作</td>
</tr>
<?php
$sum=0;
foreach($cart as$key=>$goods)
{
?>
<tr>
<td><?php echo$key?></td>
<td><?php echo$goods[name]?></td>
<td><?php echo$goods[price]?></td>
<td>
<input type="text" id="textnum[]" name="textnum[]" value="<?php echo$goods[num]?>">
<input type="hidden" name="hidID[]" id="hidID" value="<?php echo$key?>"></td>
<td><?php echo$goods[num]*$goods[price]?></td>
<td><a rel="external nofollow" href="?id=<?php echo$key?>&act=del">删除</a></td>
</tr>
<?php
$sum+=$goods[num]*$goods[price];
}
?>
<tr>
<td colspan="6"><input type="button" name="button" id="button" value="继续购物" onClick="window.location.href='9_17.php'">
<input type="button" name="button2" id="button2" value="删除全部" onClick="window.location.href='?act=delall'">
<input type="submit" name="button3" id="button3" value="更改数量">
<input type="button" name="button4" id="button4" value="提交订单"></td>
</tr>
</table>
总计:<?php echo$sum;?>
</form>
二。cookie写法
<?php
session_start();
if(isset($_COOKIE[cart]))
{
$strCart=$_COOKIE['cart'];
$cart= unserialize(gzuncompress(base64_decode($strCart)));//先把字符串解码,再反序列化
}
else
{
$cart=array();
}
$id=$_GET[id];
$price=$_GET[price];
$name=$_GET[name];
$act=$_GET[act];
switch($act)
{
case'buy':
{
if(isset($cart[$id]))
{
$cart[$id][num]+=1;
}
else
{
$cart[$id][name]=$name;
$cart[$id][price]=$price;
$cart[$id][num]=1;
}
break;
}
case'delete':
{
$id=$_GET[id];
unset($cart[$id]);
break;
}
case'clear':
{
unset($cart);
break;
}
case'update':
{
$num=$_POST[texnum];
$id=$_POST[hidID];
for($i=0;$i<count($id);$i++)
{
$cart[$id[$i] ]['num']=$num[$i];
}
break;
}
}
$strCart=base64_encode(gzcompress(serialize($cart)));//先把对象序列化,在进行编码
//echo$strCart;
setcookie('cart',$strCart,time()+3600*24*7);
$sum=0;
if($cart=='')
{
?>
<title>cookie实现购物车的功能</title>
<input type='button' value='继续购物' onClick="window.location.href='9_17.php'">
<?php
die('购物车为空!');
}
?>
<form action="?act=update" method="post">
<table width="600" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>产品编号</td>
<td>产品名称</td>
<td>产品价格</td>
<td>购买数量</td>
<td>小计</td>
<td>操作</td>
</tr>
<?php foreach($cart as$key=>$goods){
?>
<tr>
<td><?php echo$key?></td>
<td><?php echo$goods[name]?></td>
<td><?php echo$goods[price]?></td>
<td><input type="text" value="<?php echo$goods[num]?>" id="texnum" name="texnum">
<input name="hidID" type="hidden" id="hidID" value="<?php echo$key?>"></td>
<td><?php echo$goods[price]*$goods[num]?></td>
<td><a rel="external nofollow" href="?act=delete&id=<?php echo$key?>">删除</a></td>
</tr>
<?php
$sum+=$goods[price]*$goods[num];}?>
<tr>
<td colspan="6">
<input type="button" name="button" id="button" value="继续购物" onClick="window.location.href='9_17.php'">
<input type="button" name="button3" id="button3" value="清空购物车" onClick="window.location.href='?act=clear'">
<input type="submit" name="button2" id="button2" value="更改数量">
<input type="button" name="button4" id="button4" value="去付款"></td>
</tr>
</table>
<h3>总计:<?php echo$sum?></h3>
</form>
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!