stock_id | product_id | stock | warehouse_id |
1 | 1 | 100 | 1 |
#2##1 |
200 |
2 |
|
...
... |
... |
... |
|
在這個資料庫結構中,商品表用於存儲商品的名稱和描述信息;倉庫表用於存儲倉庫的名稱和描述信息;庫存表用於存儲商品在各個倉庫中的實時庫存信息,其中stock_id為庫存記錄唯一標識,product_id為關聯的商品ID,stock為庫存數量,而warehouse_id為關聯的倉庫ID。
- 基本功能實作:
接下來,我們可以開始編寫PHP程式碼來實現基本的商品庫存管理功能。
2.1 連接資料庫:
首先,我們需要用PHP程式碼連接到MySQL資料庫。
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
#}
echo "連線成功";
?>
在上述程式碼中,你需要將"your_username"、"your_password"和"your_database"替換為你自己的資料庫使用者名稱、密碼和資料庫名稱。
2.2 商品清單和倉庫清單展示:
接下來,我們可以編寫程式碼來查詢資料庫並展示商品清單和倉庫清單:
$sql = "SELECT * FROM 商品表
";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "商品ID: " . $row["id"]. " 商品名称: " . $row["name"]. " 商品描述: " . $row["description"]. "<br>";
}
} else {
echo "0 结果";
}
$sql = "SELECT * FROM 倉庫表
";
$result = $conn ->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "仓库ID: " . $row["id"]. " 仓库名称: " . $row["name"]. " 仓库描述: " . $row["description"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
- 庫存管理功能實作:
接下來,我們可以編寫程式碼來實作庫存管理的相關功能,如庫存查詢、庫存調撥和庫存更新等。
3.1 庫存查詢:
以下是一個簡單的庫存查詢的程式碼範例:
$sql = "SELECT * FROM 庫存表
";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "库存ID: " . $row["stock_id"]. " 商品ID: " . $row["product_id"]. " 库存数量: " . $row["stock"]. " 仓库ID: " . $row["warehouse_id"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
3.2 庫存調撥:
以下是一個簡單的庫存調撥的程式碼範例:
$stock_id = $_POST['stock_id'];
$from_warehouse_id = $_POST['from_warehouse_id'];
$to_warehouse_id = $_POST['to_warehouse_id'];
$quantity = $_POST['quantity'];
$sql = "UPDATE 庫存表
SET stock = stock - '$quantity' WHERE stock_id = '$stock_id' AND warehouse_id = '$from_warehouse_id'";
$result = $conn->query($sql);
$sql = "INSERT INTO 庫存表
(product_id, stock, warehouse_id) VALUES ('$product_id', '$quantity', '$to_warehouse_id')";
$result = $conn->query($sql);
#if ($conn->affected_rows > 0) {
echo "库存调拨成功";
} else {
echo "库存调拨失败";
}
$conn->close();
?>
在上述程式碼中,我們使用了POST請求來取得庫存調撥所需的參數,並透過SQL語句更新原倉庫中的庫存,並插入新倉庫中的庫存。
3.3 庫存更新:
以下是一個簡單的庫存更新的程式碼範例:
$stock_id = $_POST['stock_id'];
$warehouse_id = $_POST['warehouse_id'];
$quantity = $_POST['quantity'];
$sql = "UPDATE 庫存表
SET stock = '$ quantity' WHERE stock_id = '$stock_id' AND warehouse_id = '$warehouse_id'";
$result = $conn->query($sql);
if ($conn->affected_rows > ; 0) {
echo "库存更新成功";
} else {
echo "库存更新失败";
}
$conn->close();
?>
#在在上述程式碼中,我們使用了POST請求來取得庫存更新所需的參數,並透過SQL語句更新庫存。
總結:
透過以上的程式碼範例,我們可以看到如何使用PHP開發一個支援多倉庫的商品庫存管理系統。除了基本的資料庫設計和連接外,我們還實現了商品清單和倉庫清單的展示,以及庫存查詢、庫存調撥和庫存更新等功能。當然,在實際開發中,我們可以根據需求進行更複雜的功能擴展和最佳化。希望本文對於想要開發一個支援多倉庫的商品庫存管理系統的開發者有所幫助。