首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP4 Session 實作迷你購物籃(三):商品連結與購物籃顯示邏輯

     編輯:PHP 相關知識

為頁面新增「加入購物籃」連結

在商品列表頁面中,每個商品旁需提供一個連結,讓使用者點擊即可將商品加入迷你購物籃。連結應指向目前頁面自身(使用 $PHP_SELF),並透過 GET 參數傳遞商品資訊(ID、價格、名稱)。例如商品「滑鼠」(ID=1、價格 25)的連結寫法如下:

<a href="?id=1&price=25&basket=Mouse">加入</a>

注意:商品名稱可能包含空格,建議將名稱參數放在連結最後,避免 GET 方法解析錯誤。

建立可重用的迷你購物籃模組

為了程式碼重用與維護方便,建立一個外部檔案 minibasket.inc(慣用 .inc 副檔名標示 include 檔)。在需要顯示購物籃的頁面處,以 引入即可。此檔案包含:

  • 顯示迷你購物籃的 HTML 輸出邏輯
  • 加入商品、檢查重複、更新數量與價格的函式

迷你購物籃的顯示樣貌

購物籃以簡易表格呈現,欄位含數量、商品名、單價,最後顯示總價。範例:

# 名稱     價格
1 滑鼠    25.00
3 遊戲    75.00
總計      100.00

可搭配外部 CSS 美化,但不宜過大,以免喧賓奪主。

核心邏輯流程

  1. 檢查是否有新商品要加入:判斷 $basket 變數是否為空。
  2. 若有新商品:檢查購物籃中是否已存在相同商品(比對 ID),存在則更新數量與價格,否則新增一筆記錄。
  3. 顯示購物籃內容:若 Session 陣列 $ses_basket_items 大於 0,迴圈輸出每筆商品資料,並以 sprintf("%01.2f", $price) 格式化金額至小數點後兩位。
  4. 購物籃為空時:將項目計數歸零,並 unset() 所有相關 Session 陣列,防止殘留舊資料。

程式碼片段示意

片段 1:偵測加入動作

<?php if ($basket !== "") { // 將商品加入購物籃 } ?>

片段 2:顯示購物籃

<?php if ($ses_basket_items > 0) {
    for ($i = 0; $i < $ses_basket_items; $i++) {
        $price = sprintf("%01.2f", $ses_basket_price[$i]);
        $amount = $ses_basket_amount[$i];
        $name = $ses_basket_name[$i];
        echo "$amount $name $price<br>";
    }
} else {
    $ses_basket_items = 0;
    unset($ses_basket_name, $ses_basket_amount, $ses_basket_price, $ses_basket_id);
} ?>

目前購物籃尚無資料,下一步將實作「加入商品」的完整邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved