نمونه اسکریپت سیستم مدیریت بسته هاب لجستیک در کد PHP و کد دیتابیس SQLite
این توضیحات بصورت خودکار ارسال شده است برای دانلود فایل به سایت اصلی که لینک دانلود در پایین قرار داده شده است بروید
نمونه اسکریپت سیستم مدیریت بسته در هاب لجستیک با PHP و SQLite
در دنیای امروز، سیستمهای مدیریت بسته و لجستیک، نقش حیاتی در بهبود فرآیندهای حمل و نقل، انبارداری، و توزیع کالا دارند. توسعه یک سیستم کارآمد و قابل اطمینان، نیازمند طراحی دقیق و به کارگیری فناوریهای مناسب است. یکی از راهکارهای ساده و در عین حال قدرتمند، استفاده از PHP در کنار پایگاه داده SQLite است؛ چرا که SQLite یک بانک اطلاعاتی سبک و بدون نیاز به نصب سرور است که قابلیت توسعه سریع و آسان را فراهم میکند. در ادامه، به تفصیل، یک نمونه اسکریپت کامل و جامع از سیستم مدیریت بسته در هاب لجستیک، ارائه میشود.
ساختار پایگاه داده SQLite
ابتدا، باید ساختار جدولها در پایگاه داده تعریف شود. این جداول شامل موارد زیر است:
- packages: برای نگهداری اطلاعات مربوط به هر بسته، مانند شناسه، وزن، ابعاد، وضعیت، و تاریخ ثبت.
- locations: برای ثبت مکانهای مختلف، مانند انبارها، مسیرهای تحویل، و نقاط مبدا و مقصد.
- tracking: برای پیگیری وضعیت هر بسته در طول مسیر، شامل تاریخ و زمان، مکان، و وضعیت فعلی.
کد SQL برای ساخت این جداول، به صورت زیر است:
sql
CREATE TABLE IF NOT EXISTS packages (
id INTEGER PRIMARY KEY AUTOINCREMENT,
tracking_number TEXT UNIQUE,
weight REAL,
length REAL,
width REAL,
height REAL,
status TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS locations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
address TEXT,
description TEXT
);
CREATE TABLE IF NOT EXISTS tracking (
id INTEGER PRIMARY KEY AUTOINCREMENT,
package_id INTEGER,
location_id INTEGER,
status TEXT,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (package_id) REFERENCES packages(id),
FOREIGN KEY (location_id) REFERENCES locations(id)
);
ساختار فایلهای PHP
برای مدیریت و عملیات CRUD روی دادهها، باید چند فایل PHP طراحی شود:
- db.php: برای اتصال به پایگاه داده SQLite.
- add_package.php: برای افزودن بسته جدید.
- update_status.php: برای بهروزرسانی وضعیت بسته.
- get_package.php: برای مشاهده جزئیات بسته.
- track_package.php: برای ثبت و نمایش مسیر و وضعیت بسته.
فایل db.php
این فایل، مسئول برقراری اتصال است:
php
try {
$db = new PDO('sqlite:logistics.db');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("خطا در اتصال به پایگاه داده: " . $e->getMessage());
}
?>
افزودن بسته جدید (add_package.php)
در این فایل، کاربر میتواند اطلاعات بسته را وارد کند:
php
include 'db.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$trackingNumber = $_POST['tracking_number'];
$weight = $_POST['weight'];
$length = $_POST['length'];
$width = $_POST['width'];
$height = $_POST['height'];
$status = 'در انتظار تحویل';
$stmt = $db->prepare("INSERT INTO packages (tracking_number, weight, length, width, height, status) VALUES (?, ?, ?, ?, ?, ?)");
$stmt->execute([$trackingNumber, $weight, $length, $width, $height, $status]);
echo "بسته با موفقیت اضافه شد.";
}
?>
بهروزرسانی وضعیت بسته (update_status.php)
برای تغییر وضعیت بسته، مثلا از "در حال حمل" به "تحویل داده شد":
php
include 'db.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$trackingNumber = $_POST['tracking_number'];
$newStatus = $_POST['status'];
$stmt = $db->prepare("UPDATE packages SET status = ? WHERE tracking_number = ?");
$stmt->exec... ← ادامه مطلب در magicfile.ir