1. jQuery thinkphp 購物車多物品數量的加減+總價計算
(1)、js里用+=就是連接的意思,不是累加的意思,所以不能用s+=,需要用s=XXX+s。
(2)、如內果容+1的時候,資料庫也+1,這塊需要用到ajax,當你單機的時候,觸發ajax
$.post("url",{"id":"商品id"},function(data){
})
url填寫一個地址,把商品的id發到處理頁,就可以實現了
2. ThinkPHP框架怎麼做商城購物車
購物車其實很簡單的,主要就是一個數據保持的問題。大致的思路如下:
用戶加入購物車版的同時ajax請求後台權來進行庫存等信息預判;
預判通過後將商品ID或者其他信息寫入到cookie或者session中,
此時的數據就已經保持住了,不論用戶切換到哪個頁面都能顯示出來;
3. 在thinkphp中如何使用checkbox 類似購物車的,如何用checkbox勾選n行數據,傳送到下一個頁面顯示出來。
$_POST表單提交後本來就會有勾選的checkbox值,如果要的話:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>GetCheckboxValues</title>
<scriptlanguage="javascript"type="text/javascript"src="../js/jquery-1.9.1.js"></script>
</head>
<body>
<inputtype="checkbox"name="ids[]"value="abc"/>
<inputtype="checkbox"name="ids[]"value="def"/>
<inputtype="checkbox"name="ids[]"value="ghi"/>
<inputid="btn"type="button"name="btn"value="submit"/>
<script>
jQuery(function(){
varbox={
getBoxVal:function(){
array=newArray();
$("input[name^='ids']").each(function(i){
if($(this).prop('checked')==true){
array.push($(this).val());
}
});alert(array);
returnarray;
},//endgetBoxVal
submitForm:function(){
arr=box.getBoxVal();
$("#btn").click(function(){
alert("arr:"+arr);
});
}//endsubmitForm
}//endbox
box.submitForm();
});
</script>
</body>
</html>
4. ThinkPHP購物車實現
你的問題說的也太模糊了吧.. 也沒說明購物車是基於session還是資料庫實現的 也沒說明是商品已經存入購物車了 但是沒取出來 還是壓根就沒存進去呢?
5. thinkphp做的session購物車,求詳細代碼。有完整例子的可以發下。非常感謝
<?php
classCartTool{
privatestatic$ins=null;
private$items=array();
finalprotectedfunction__construct(){
}
finalprotectedfunction__clone(){
}
//獲取實例
protectedstaticfunctiongetIns(){
if(!(self::$insinstanceofself)){
self::$ins=newself();
}
returnself::$ins;
}
//把購物車的單例對象放到session里
publicstaticfunctiongetCart(){
if(!isset($_SESSION['cart'])||!($_SESSION['cart']instanceofself)){
$_SESSION['cart']=self::getIns();
}
return$_SESSION['cart'];
}
/*
添加商品
paramint$id商品主鍵
paramstring$name商品名稱
paramfloat$ 商品價格
paramint$num購物數量
*/
publicfunctionaddItem($id,$name,$price,$brand,$thumb,$num=1){
if($this->hasItem($id)){//如果該商品已經存在,則直接加其數量
$this->incNum($id,$num);
return;
}
$item=array();
$item['id']=$id;
$item['name']=$name;
$item['price']=$price;
$item['brand']=$brand;
$item['thumb']=$thumb;
$item['num']=$num;
$this->items[$id]=$item;
return$this->items[$id];
}
/*
修改購物車中的商品數量
paramint$id商品主鍵
paramint$num某個商品修改後的數量,即直接把某商品的數量改為$num
*/
publicfunctionmodNum($id,$num=1){
if(!$this->hasItem($id)){
returnfalse;
}
$this->items[$id]['num']=$num;
}
/*
商品數量增加1
*/
publicfunctionincNum($id,$num=1){
if($this->hasItem($id)){
$this->items[$id]['num']+=$num;
}
}
/*
商品數量減少1
*/
publicfunctiondecNum($id,$num=1){
if($this->hasItem($id)){
$this->items[$id]['num']-=$num;
}
//如果減少後,數量為0了,則把這個商品從購物車刪掉
if($this->items[$id]['num']<1){
$this->delItem($id);
}
}
/*
判斷某商品是否存在
*/
publicfunctionhasItem($id){
returnarray_key_exists($id,$this->items);
}
/*
刪除商品
*/
publicfunctiondelItem($id){
unset($this->items[$id]);
}
/*
查詢購物車中商品的種類
*/
publicfunctiongetCnt(){
returncount($this->items);
}
/*
查詢購物車中商品的個數
*/
publicfunctiongetNum(){
if($this->getCnt()==0){
return0;
}
$sum=0;
foreach($this->itemsas$item){
$sum+=$item['num'];
}
return$sum;
}
/*
查詢購物車中商品的總金額
*/
publicfunctiongetPrice(){
if($this->getCnt()==0){
return0;
}
$price=0.0;
foreach($this->itemsas$item){
$price+=$item['num']*$item['price'];
}
return$price;
}/*
返回購物車中的所有商品
*/
publicfunctionall(){
return$this->items;
}
/*
清空購物車
*/
publicfunctionclear(){
$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['goods_name'],$goods_list['shop_price'],$goods_list['brand'],$goods_list['goods_thumb'],$num);//增加一件商品到購物車
$cart->clear();//清空購物車
6. ThinkPHP3.2 實戰項目,購物車列表顯示數據,怎麼顯示多條數據
就是foreach循環啊,另外,你這給出的是模板代碼~
先從控制器controller中查出購物車的數回據然後$this->assign('data', $data);到模板,然後$this->display();到該答控制器對應的模板。
然後在模板中foreach循環出購物車數據即可。