請問有人會寫計算購物車運費的php程式?

如主題所述,不過是要能依照產品數量更動運費金頠,會有多項產品,及不同種類
例:一箱:90元,二箱150元,三箱以上170元,感謝!!
2018-10-24 10:55 發佈

Jom3638 wrote:
如主題所述,不過是...(恕刪)


這是購物車內的功能,
你要單獨計算?怎麼合你現有購物車?
還是找,購物車有這功能?
對,我是要單獨計算,因為每一項產品單價都不一樣,單位以箱計算,例如:定價一箱 蘋果120元丶橘子80元 ,
運費統一為一箱為80元 二箱為100元 三箱110元,如果我定2箱蘋果=120*2+100元=340元,如果是三箱=120*3+110=470元。

Jom3638 wrote:
對,我是要單獨計算...(恕刪)



把你的要的條件,都寫入判斷,應該很簡單的,

數量1,加運費90,數量2,加運費100,數量3,加運費110,

用數量,判斷加運費。



只是如果還有其他的,就要再加判斷而已,還不能衝突到。

是不難的事。
謝謝heartgame的意見,我有試過用數量做判斷,但是不行,我是參考dreamweavercs6的相關書籍光碟內的購物車程式內容,其中有個加入運費的php檔,我有修改過,其中內容紅色字部分是我改過的地方,程式碼如下,想請問如何修改?


<?php
/*
由 webforce cart v.1.2 修改 (http://webforce.co.nz/cart)
---------------------------------------------------------
織夢平台2005 - 分享是成長的開始
http://www.e-dreamer.idv.tw
*/
class edCart {
var $total = 0;
var $deliverfee = 0; //修改,運費
var $grandtotal = 0; //加上了運費後的總合費用
var $itemcount = 0;
var $items = array();
var $itemprices = array();
var $itemqtys = array();
var $iteminfo = array();
var $itempic = array();

function cart() {} // 宣告函數

function get_contents(){ // 取得購物車內容
$items = array();
foreach($this->items as $tmp_item){
$item = FALSE;
$item['id'] = $tmp_item;
$item['qty'] = $this->itemqtys[$tmp_item];
$item['price'] = $this->itemprices[$tmp_item];
$item['info'] = $this->iteminfo[$tmp_item];
$item['pic'] = $this->itempic[$tmp_item];
$item['subtotal'] = $item['qty'] * $item['price'];
$items[] = $item;
}
return $items;
}


function add_item($itemid,$qty=1,$price = FALSE, $info = FALSE, $pic = FALSE){ // 新增至購物車
//if(!$price){
//$price = ed_get_price($itemid,$qty);
//}
//if(!$info){
//$info = ed_get_info($itemid);
//}
if(isset($this->itemqtys[$itemid]) && $this->itemqtys[$itemid] > 0){
$this->itemqtys[$itemid] = $qty + $this->itemqtys[$itemid];
$this->_update_total();
} else {
$this->items[]=$itemid;
$this->itemqtys[$itemid] = $qty;
$this->itemprices[$itemid] = $price;
$this->iteminfo[$itemid] = $info;
$this->itempic[$itemid] = $pic;
}
$this->_update_total();
}


function edit_item($itemid,$qty){ // 更新購物車數量
if($qty < 1) {
$this->del_item($itemid);
} else {
$this->itemqtys[$itemid] = $qty;
}
$this->_update_total();
}


function del_item($itemid){ // 移除購物車
$ti = array();
$this->itemqtys[$itemid] = 0;
foreach($this->items as $item){
if($item != $itemid){
$ti[] = $item;
}
}
$this->items = $ti;
$this->_update_total();
}


function empty_cart(){ // 清空購物車
$this->total = 0;
$this->itemcount = 0;
$this->items = array();
$this->itemprices = array();
$this->itemqtys = array();
$this->itemdescs = array();
}


function _update_total(){ // 更新購物車的內容
$this->itemcount = 0;
$this->total = 0;
if(sizeof($this->items > 0)){
foreach($this->items as $item) {
$this->total = $this->total + ($this->itemprices[$item] * $this->itemqtys[$item]);
$this->itemcount++;
}
}



if ($item['qty'] = 1) { $this->deliverfee = 180; } //請設定購物車的運費
if ($item['qty'] = 2) { $this->deliverfee = 90; }
if ($item['qty'] = 3) { $this->deliverfee = 150; }







$this->grandtotal = $this->total + $this->deliverfee; //計算最後總計
}
}
?>

Jom3638 wrote:
謝謝heartgame...(恕刪)


不行,會有不行的訊息或錯誤,
要會查找問題點,程式才做的下去吧。
我的PHP寫法不是這種,所以看不懂,
且沒有資料庫欄位定義,會想各種可能。

不要動太多,先在空白處,秀出數量,
再引用數量,判斷在空白處,出現金額,
先不動主體,達到功能,
再對主體改看看,
我會如此做。
謝謝heartgame回答,我再試試看。
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?