iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 15
0
自我挑戰組

網頁設計:前端設計+後端基礎建構系列 第 15

[DAY15]安裝購物車套件(續)

開始

今天有去參考書上的內容,我有用書上的內容套進我的網站裡面,我參考這本書新觀念PHP7+MySQL+AJAX網頁設計範本,這本書很不錯很推。

程式碼

我今天主要是把wfCart購物車類別元件套進我的購物網站,昨天在做時也有遇到bug,今天也是,盯了2小時的螢幕後來才發現傳值時沒有echo!!難怪沒東西哈哈。下面程式碼是在引入wfCart類別,這算是固定起手式,再來的msg只是要顯示"有放進購物車囉"的資訊。

include "../method/wfcart.php";  // 插入購物車的PHP類別檔
     session_start();  // 啟用交談期
     $cart =& $_SESSION['wfcart']; // 指向購物車物件
     if( !is_object($cart) ) $cart = new wfCart();

下面就是把表單的值放進additem()裡面,這是wfCart的函式,格式要照下面順序打:

add_item(產品編號,數量,價格,名稱)
     $msg = "";
     // 檢查是否是表單送回
     if ( isset($_POST["Order"]) ) {
        // 新增至購物車
        $id = $_POST["id"];
        $title = $_POST["name"];
        $price = $_POST["price"];
        $quantity = $_POST["num"];
        if ( $quantity == "" ) $quantity = 1;
        $cart -> add_item($id,$quantity,$price,$title);
        $msg = "<font color='red'>已將選購商品".$title;
        $msg .= "放入購物車!</font><br/>";
      }

再來是檢查購物內容的頁面,想要結帳就是從這裡結帳。
前面這段還是引入購物車套件的起手式,$flag是用來切換色彩的。

include "../method/wfcart.php"; // 插入購物車的PHP類別檔
session_start();  // 啟用交談期
$cart =& $_SESSION['wfcart']; // 指向購物車物件
if(!is_object($cart)) $cart = new wfCart();
$flag = false;

這一段是在顯示購物車內容,只要購物車元件有記錄到商品時

$cart->itemcount > 0 

就會把它的內容用foreach顯示出來,顯示商品的值是

	      商品編號:$item['id']
		  商品資訊:$item['info']
		  商品價格:$item['price']
		  商品個數:$item['qty']
		  該商品總計:$item['subtotal']
if($cart->itemcount > 0) { // 檢查購物車是否有商品
   // 顯示購物車的內容
   foreach($cart->get_contents() as $item) {
	    if ($flag) {   // 切換顯示色彩
         $flag = false;
         $color="#FF99CC";
      } else {
         $flag = true;
         $color="#99FFC";
      }
	    echo "<tr bgcolor='".$color."'>";
	    echo "<td><a href='delete.php?Id=".$item['id']."'>";
      echo "刪除</a></td>";
      // 顯示選購的商品資料
			echo "<td>".$item['id']."</td>";
		  echo "<td>".$item['info']."</td>";
		  echo "<td>".number_format($item['price'],2)."</td>";
		  echo "<td>".$item['qty']."</td>";
		  echo "<td>".number_format($item['subtotal'],2)."</td>";
	 }
	 echo "<tr bgcolor=yellow><td colspan='6' align='right'>";
   echo "總金額 = NT$".number_format($cart->total,2)."元</td></tr>";
}

number_format() 是用來格式化數字的這是PHP原有的函數,最後結帳是$cart->total

結尾

今天還蠻充實的,而且內容算蠻多的不錯喔

https://github.com/leo5916267/buysite/tree/master/buytobuy


上一篇
[DAY14]安裝購物車套件
下一篇
[DAY16]結帳頁面
系列文
網頁設計:前端設計+後端基礎建構24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言