當前位置: 首頁> 最新文章列表> PHP庫存管理系統庫存日誌記錄功能代碼實現

PHP庫存管理系統庫存日誌記錄功能代碼實現

M66 2025-06-13

引言

在庫存管理系統中,庫存日誌記錄是非常重要的一部分,能夠幫助我們追踪和管理商品的庫存變化。本文將介紹如何使用PHP編寫庫存管理系統中的庫存日誌記錄功能,通過代碼示例幫助讀者理解並實現這一功能。

一、創建數據庫表

首先,我們需要創建一個數據庫表來存儲庫存日誌記錄。下面是一個簡單的庫存日誌表結構示例:
CREATE TABLE IF NOT EXISTS inventory_logs (
  id int(11) NOT NULL AUTO_INCREMENT,
  product_id int(11) NOT NULL,
  action varchar(255) NOT NULL,
  quantity int(11) NOT NULL,
  created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

該表包含以下幾個字段:

  • id :庫存日誌記錄的唯一標識符,使用自增長主鍵。

  • product_id :商品的ID,用於關聯具體的商品。

  • action :庫存操作類型,例如入庫、出庫等。

  • quantity :操作數量,表示該次操作的商品數量。

  • created_at :記錄創建的時間戳。

二、編寫庫存日誌記錄代碼功能

接下來,我們將使用PHP編寫一個庫存日誌記錄功能,使用PDO來操作數據庫。下面是示例代碼:
class InventoryLog
{
    private $pdo;

    public function __construct(PDO $pdo)
    {
        $this->pdo = $pdo;
    }

    public function addLog($product_id, $action, $quantity)
    {
        $sql = "INSERT INTO inventory_logs (product_id, action, quantity) 
                VALUES (:product_id, :action, :quantity)";
        $stmt = $this->pdo->prepare($sql);
        $stmt->bindValue(':product_id', $product_id, PDO::PARAM_INT);
        $stmt->bindValue(':action', $action, PDO::PARAM_STR);
        $stmt->bindValue(':quantity', $quantity, PDO::PARAM_INT);
        $stmt->execute();
    }

    public function getLogs($product_id)
    {
        $sql = "SELECT * FROM inventory_logs WHERE product_id = :product_id ORDER BY created_at DESC";
        $stmt = $this->pdo->prepare($sql);
        $stmt->bindValue(':product_id', $product_id, PDO::PARAM_INT);
        $stmt->execute();
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
}

三、使用示例

以下是如何使用該庫存日誌記錄功能的示例:
$dbHost = 'localhost';
$dbName = 'inventory';
$dbUser = 'root';
$dbPassword = 'password';

$dsn = "mysql:host=$dbHost;dbname=$dbName;charset=utf8";
$pdo = new PDO($dsn, $dbUser, $dbPassword);
$inventoryLog = new InventoryLog($pdo);

// 添加一條庫存日誌記錄$inventoryLog->addLog(1, '入庫', 10);

// 獲取商品1的庫存日誌記錄$logs = $inventoryLog->getLogs(1);
foreach ($logs as $log) {
    echo "商品ID: " . $log[&#39;product_id&#39;] . " 操作類型: " . $log[&#39;action&#39;] . " 操作數量: " . $log[&#39;quantity&#39;] . "<br> ";
}

總結

通過簡單的示例代碼,我們展示瞭如何使用PHP編寫庫存管理系統中的庫存日誌記錄功能。讀者可以根據自己的實際需求進行擴展和優化。希望本文能夠幫助讀者理解並實現庫存日誌記錄功能,提升庫存管理系統的效率。