php购物车修改商品数量怎么做(ecshop 修改购物车中的购物数量,代码如下,为什么点击加减图片没有得到相应的效果呢急)
本文目录
- ecshop 修改购物车中的购物数量,代码如下,为什么点击加减图片没有得到相应的效果呢急
- php怎么用session做购物车
- php购物车添加和减少数量以及计算总金额
- 商品放入购物车时减库存,购物车在20分钟后,清除所有商品,这个时候库存重新加上去,PHP怎么实现
- jQuery thinkphp 购物车多物品数量的加减+总价计算
- thinkphp做的session购物车,求详细代码有完整例子的可以发下非常感谢
- 求php增加购物车数量的加减,
- php CI框架写的购物车,改变商品数量!!!!急用,求指教
- php 显示购物车内商品数量
ecshop 修改购物车中的购物数量,代码如下,为什么点击加减图片没有得到相应的效果呢急
这样,我给你一段这个代码,你相对比一下看看
《li style="width:608px"》 《div class="guige" style="width:220px; float:left;"》
《script language="javascript" type="text/javascript"》 function goods_cut(){ var num_val=document.getElementById(’number’); var new_num=num_val.value; var Num = parseInt(new_num); if(Num》1)Num=Num-1; num_val.value=Num; } function goods_add(){ var num_val=document.getElementById(’number’); var new_num=num_val.value; var Num = parseInt(new_num); Num=Num+1; num_val.value=Num; } 《/script》
《span class="shuliang" style="width:165px"》购买数量:《a href="javascript:void(0)" onclick="goods_cut();changePrice();"》-《/a》《input onblur="changePrice();" id="number" name="" value="1" type="text"》《a href="javascript:void(0)" onclick="goods_add();changePrice();"》+《/a》《/span》《/div》
《div style="float:left; width:150px;" 》{$lang.amount}:《strong id="ECS_GOODS_AMOUNT" style="font-size:16px; font-weight:bold; color:#F34761;"》《/strong》《/div》
《/li》
php怎么用session做购物车
class cart
{
/**
* 函数名称: addItem
* 函数功能: 添加商品
* 输入参数: $data ------------- 商品数组
* 函数返回值: none
* 其它说明: 因为数据是记录在session中,所以不用返回
*/
function addItem($data){
global $config_kezhi;
if(is_array($data)&&!empty($data)){
foreach($data as $key=》$val){
// 如果商品存在就加数量和价格
if($this-》_isExists($key)){
$_SESSION;
$_SESSION;
$_SESSION);
$arr = $this-》getItems($key);
// $_SESSION;
/* if(strlen($_SESSION)》0){//没有刻字,加入刻字
$_SESSION=0;
$_SESSION);
}else{
//die("dd");
$_SESSION=0;
}*/
//echo $arr;
//die();
}
// 否则直接加入
else
{
$_SESSION;
// $_SESSION;
// $_SESSION;
// $_SESSION),2);
// $_SESSION);
}
}
}
}
/**
* 函数名称: _isExists
* 函数功能: 判断此商品是否存在
* 输入参数: $id ---------- 商品ID
* 函数返回值: bool
* 其他说明: 2004-8-19
*/
function _isExists($id)
{
if(isset($_SESSION))
{
Return true;
}
else
{
Return false;
}
}
/**
* 函数名称: modItem
* 函数功能: 修改商品数量
* 输入参数: $id -------------- 商品ID
* $num ------------- 商品数量
* 函数返回值: 返回值说明
* 其他说明: 说明
*/
function modItem($id,$num)
{
$arr = $this-》getItems($id);
// 如果商品存在就加数量和价格
if($this-》_isExists($id))
{
$_SESSION = intval($num);
if($arr 》 "0"){
$_SESSION*intval($num),2);
}elseif($arr 》 "0"){
$_SESSION*intval($num),2);
}elseif($arr 》 "0"){
$_SESSION*intval($num),2);
}else{
$_SESSION*intval($num),2);
}
$_SESSION*intval($num),2);
}
}
/**
* 函数名称: modItem_wanwei
* 函数功能: 修改商品腕围
* 输入参数: $id -------------- 商品ID
* $num ------------- 商品腕围
* 函数返回值: 返回值说明
* 其他说明: 说明
*/
function modItem_wanwei($id,$wanwei)
{
$arr = $this-》getItems($id);
// 如果商品存在就加数量和价格
if($this-》_isExists($id))
{
$_SESSION = intval($wanwei);
///$_SESSION*intval($num),2);
}
}
// function modItem_kezhi($id,$kezhi)
// {
// global $config_kezhi;
// $arr = $this-》getItems($id);
// // 如果商品存在就加数量和价格
// if($this-》_isExists($id))
// {
// $_SESSION = $kezhi;
// $_SESSION + $config_kezhi;
// $_SESSION),2);
// }
// }
function modItem_kezhi($id,$kezhi,$kezhi1="",$kezhi2="")
{
global $config_kezhi;
$arr = $this-》getItems($id);
// 如果商品存在就加数量和价格
//var_dump($_SESSION);
// die();
if($this-》_isExists($id))
{
if(strlen($_SESSION) == 0 && strlen($kezhi) != 0){//没有刻字,加入刻字
//$arr += $config_kezhi;
$_SESSION=0;
$_SESSION);
//$_SESSION;
// $_SESSION),2);
$_SESSION = $kezhi;
$_SESSION = $kezhi1;
$_SESSION = $kezhi2;
///$_SESSION*intval($num),2);
}elseif(strlen($_SESSION) != 0 && strlen($kezhi) == 0){//有刻字,去除刻字
$_SESSION=0;
//$_SESSION);
// $_SESSION-=$config_kezhi;
//$_SESSION;
//$_SESSION),2);
$_SESSION = $kezhi;
$_SESSION = $kezhi1;
$_SESSION = $kezhi2;
}elseif(strlen($_SESSION) != 0 && strlen($kezhi) != 0){//有刻字,更改刻字
//$_SESSION),2);
//$_SESSION=0;
$_SESSION);
$_SESSION = $kezhi;
$_SESSION = $kezhi1;
$_SESSION = $kezhi2;
}
}
}
/**
* 函数名称: getItems
* 函数功能: 取得商品数组
* 输入参数: $id --------------- 某商品的ID
* 函数返回值: array
* 其它说明: 2004-8-19
*/
function getItems($id=null)
{
if(isset($_SESSION))
{
if($id==null)
{
//print_r($_SESSION);exit;
Return $_SESSION;
}
else
{
Return $_SESSION;
}
}
}
/**
* 函数名称: emptyItem
* 函数功能: 删除商品
* 输入参数: $id ----------- 商品ID
* 函数返回值: bool
* 其它说明: 2004-8-19
*/
function emptyItem($id=null)
{
if($id==null)
{
unset($_SESSION);
}
else
{
unset($_SESSION);
}
}
/**
* 函数名称: sum
* 函数功能: 统计总价
* 输入参数: none
* 函数返回值: int
* 其它说明: 2004-8-19
*/
function sum()
{
$total = 0;
if(isset($_SESSION))
{
foreach($_SESSION as $key=》$val)
{
$total += $val;
}
}
Return $total;
}
}
php购物车添加和减少数量以及计算总金额
增减里面的get的是 BID ,你传值用的是 id ,所以session里面获取不到$I_ID的值 ,默认变成空字符串,所以你后面的增减操作都是对中间那个没有id的进行操作 .
总量遍历数组,把单价和数量相乘 然后相加 .
商品放入购物车时减库存,购物车在20分钟后,清除所有商品,这个时候库存重新加上去,PHP怎么实现
没有正式下单,库存为什么要减掉?这个是最大弊端啊。
如果要实现,就要在加入购物车的时候生成订单号,读取商品数量,连带订单号录入数据库,由数据库进行减少一次,把结果反馈成为库存。
如果移除购物车,就删除订单号,结果同样反馈如数据库,删除订单号的条目,数据库更新一次,库存也重新刷新读取一次,
大体这样,代码自己搞
jQuery thinkphp 购物车多物品数量的加减+总价计算
(1)、js里用+=就是连接的意思,不是累加的意思,所以不能用s+=,需要用s=XXX+s。
(2)、如果+1的时候,数据库也+1,这块需要用到ajax,当你单机的时候,触发ajax
$.post("url",{"id":"商品id"},function(data){
})
url填写一个地址,把商品的id发到处理页,就可以实现了
thinkphp做的session购物车,求详细代码有完整例子的可以发下非常感谢
《?php
class CartTool {
private static $ins = null;
private $items = array();
final protected function __c***truct() {
}
final protected function __clone() {
}
// 获取实例
protected static function getIns() {
if(!(self::$ins instanceof self)) {
self::$ins = new self();
}
return self::$ins;
}
// 把购物车的单例对象放到session里
public static function getCart() {
if(!isset($_SESSION instanceof self)) {
$_SESSION = self::getIns();
}
return $_SESSION;
}
/*
添加商品
param int $id 商品主键
param string $name 商品名称
param float $ 商品价格
param int $num 购物数量
*/
public function addItem($id,$name,$price,$brand,$thumb,$num=1) {
if($this-》hasItem($id)) { // 如果该商品已经存在,则直接加其数量
$this-》incNum($id,$num);
return;
}
$item = array();
$item = $id;
$item = $name;
$item = $price;
$item = $brand;
$item = $thumb;
$item = $num;
$this-》items = $item;
return $this-》items;
}
/*
修改购物车中的商品数量
param int $id 商品主键
param int $num 某个商品修改后的数量,即直接把某商品的数量改为$num
*/
public function modNum($id,$num=1) {
if(!$this-》hasItem($id)) {
return false;
}
$this-》items = $num;
}
/*
商品数量增加1
*/
public function incNum($id,$num=1) {
if($this-》hasItem($id)) {
$this-》items += $num;
}
}
/*
商品数量减少1
*/
public function decNum($id,$num=1) {
if($this-》hasItem($id)) {
$this-》items -= $num;
}
// 如果减少后,数量为0了,则把这个商品从购物车删掉
if($this-》items 《 1) {
$this-》delItem($id);
}
}
/*
判断某商品是否存在
*/
public function hasItem($id) {
return array_key_exists($id,$this-》items);
}
/*
删除商品
*/
public function delItem($id) {
unset($this-》items);
}
/*
查询购物车中商品的种类
*/
public function getCnt() {
return count($this-》items);
}
/*
查询购物车中商品的个数
*/
public function getNum() {
if($this-》getCnt() == 0) {
return 0;
}
$sum = 0;
foreach($this-》items as $item) {
$sum += $item;
}
return $sum;
}
/*
查询购物车中商品的总金额
*/
public function getPrice() {
if($this-》getCnt() == 0) {
return 0;
}
$price = 0.0;
foreach($this-》items as $item) {
$price += $item;
}
return $price;
}
/*
返回购物车中的所有商品
*/
public function all() {
return $this-》items;
}
/*
清空购物车
*/
public function clear() {
$this-》items = array();
}
}
以上是类文件,需要引入的。
$cart = CartTool::getCart();
$car_goods_list = $cart-》all();//获取商品列表
$goods_num = $cart-》getNum();//商品个数
$goods_sum_price =$cart-》getPrice();//总价格
$cart-》addItem($goods_id,$goods_list,$num);//增加一件商品到购物车
$cart-》clear();//清空购物车
求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;
$num = (int)$_POST;
$uid =(int)$_POST; //有封装获取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 CI框架写的购物车,改变商品数量!!!!急用,求指教
贴代码才知道问题所在啊,直接说谁知道啊!
哥哥啊!ID是不允许重复的啊,你要给ID来个自动累加什么的进行区别啊
php 显示购物车内商品数量
《?php $sql= "SELECT sum(num) AS total FROM `cookes`";
$rec = mysql_query($sql);
$row = mysql_fetch_array($rec);
echo $row;
?》
或者笨办法:
《?php
$sql= "SELECT * FROM `cookes`";
$rec = mysql_query($sql);
$total = 0;
while($row = mysql_fetch_array($rec))
{
$total +=$row;
}
echo $total;
?》