當前位置: 首頁> 最新文章列表> 如何使用PHP生成庫存管理系統的庫存報表功能代碼

如何使用PHP生成庫存管理系統的庫存報表功能代碼

M66 2025-07-29

如何使用PHP生成庫存管理系統的庫存報表功能代碼

庫存管理對任何企業而言都至關重要。庫存報表是幫助企業管理庫存情況、做出調整決策的重要工具。通過這些報表,企業能夠掌握每個產品的庫存量、銷售情況及庫存變動趨勢,從而優化業務決策。本文將展示如何使用PHP編寫庫存管理系統中的庫存報表生成功能,並提供相關的代碼示例。

數據庫設計

在實現庫存報表功能之前,首先需要設計適當的數據庫結構以存儲庫存相關數據。以下是一個簡單的數據庫設計示例:

products 表

用於存儲產品信息,包括產品編號、名稱、進貨價、銷售價等字段。

 CREATE TABLE products (
  id INT(11) AUTO_INCREMENT PRIMARY KEY,
  product_code VARCHAR(50) NOT NULL,
  product_name VARCHAR(255) NOT NULL,
  purchase_price DECIMAL(10,2) NOT NULL,
  selling_price DECIMAL(10,2) NOT NULL
);

stock_records 表

用於記錄庫存變動,包括產品編號、變動類型(進貨或銷售)、變動數量、變動時間等字段。

 CREATE TABLE stock_records (
  id INT(11) AUTO_INCREMENT PRIMARY KEY,
  product_id INT(11) NOT NULL,
  change_type ENUM('purchase', 'sale') NOT NULL,
  change_quantity INT(11) NOT NULL,
  change_date DATE NOT NULL,
  FOREIGN KEY (product_id) REFERENCES products(id)
);

sales_records 表

用於記錄銷售數據,包括產品編號、銷售數量、銷售日期等字段。

 CREATE TABLE sales_records (
  id INT(11) AUTO_INCREMENT PRIMARY KEY,
  product_id INT(11) NOT NULL,
  sale_quantity INT(11) NOT NULL,
  sale_date DATE NOT NULL,
  FOREIGN KEY (product_id) REFERENCES products(id)
);

生成庫存報表的PHP代碼示例

接下來,我們將編寫PHP代碼來生成庫存報表。代碼的主要邏輯是查詢數據庫中的相關數據,並根據需要生成報表。以下是簡單的代碼示例:

<?php
// 連接數據庫
$conn = mysqli_connect('localhost', 'username', 'password', 'database');

// 查詢產品信息和庫存變動記錄
$query = 'SELECT p.product_code AS code, p.product_name AS name, p.purchase_price AS purchase, s.change_type AS type, s.change_quantity AS quantity, s.change_date AS date
          FROM products p
          JOIN stock_records s ON p.id = s.product_id
          ORDER BY p.product_code ASC, s.change_date DESC';

$result = mysqli_query($conn, $query);

// 初始化報表數據
$report = array();

// 生成報表數據
while ($row = mysqli_fetch_assoc($result)) {
    $code = $row['code'];
    $name = $row['name'];
    $purchase = $row['purchase'];
    $type = $row['type'];
    $quantity = $row['quantity'];
    $date = $row['date'];

    if (!isset($report[$code])) {
        $report[$code] = array(
            'name' => $name,
            &#39;purchase&#39; => $purchase,
            &#39;stock&#39; => 0,
            &#39;sales&#39; => 0
        );
    }

    if ($type == &#39;purchase&#39;) {
        $report[$code][&#39;stock&#39;] += $quantity;
    } elseif ($type == &#39;sale&#39;) {
        $report[$code][&#39;stock&#39;] -= $quantity;
        $report[$code][&#39;sales&#39;] += $quantity;
    }

    $report[$code][&#39;date&#39;] = $date;
}

// 輸出報表foreach ($report as $code => $data) {
    echo &#39;產品編號:&#39; . $code . &#39;<br> &#39;;
    echo &#39;產品名稱:&#39; . $data[&#39;name&#39;] . &#39;<br> &#39;;
    echo &#39;進貨價:&#39; . $data[&#39;purchase&#39;] . &#39;<br> &#39;;
    echo &#39;庫存量:&#39; . $data[&#39;stock&#39;] . &#39;<br> &#39;;
    echo &#39;銷售量:&#39; . $data[&#39;sales&#39;] . &#39;<br> &#39;;
    echo &#39;最後變動日期:&#39; . $data[&#39;date&#39;] . &#39;<br><br> &#39;;
}

// 關閉數據庫連接mysqli_close($conn);
?>

總結

通過以上示例代碼,我們展示瞭如何使用PHP編寫庫存管理系統中的庫存報表生成功能。當然,實際應用中可能需要根據不同需求對代碼進行優化和擴展。希望本文能夠幫助您理解如何使用PHP開發庫存報表功能,並能在實際開發中得到有效應用。