当前位置: 首页> 最新文章列表> 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['product_id'] . " 操作类型: " . $log['action'] . " 操作数量: " . $log['quantity'] . "<br>";
}

总结

通过简单的示例代码,我们展示了如何使用PHP编写库存管理系统中的库存日志记录功能。读者可以根据自己的实际需求进行扩展和优化。希望本文能够帮助读者理解并实现库存日志记录功能,提升库存管理系统的效率。