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 :記錄創建的時間戳。
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> "; }