پروژه رستوران ساده با PHP و SQLite
در این پروژه، قصد داریم یک رستوران ساده را پیادهسازی کنیم که شامل ثبت سفارشات، مدیریت منو و نمایش اطلاعات مشتریان باشد. این سیستم با استفاده از PHP به عنوان زبان برنامهنویسی و SQLite به عنوان پایگاه داده طراحی خواهد شد.
۱. ساختار دیتابیس
در ابتدا، نیازمند ایجاد یک پایگاه داده SQLite هستیم. برای این کار، میتوانیم فایل `database.sqlite` را ایجاد کنیم. سپس، جداول زیر را در آن تعریف میکنیم:
- جدول منو (`menu`):
- `id`: شناسه منو (کلید اصلی)
- `name`: نام غذا
- `price`: قیمت غذا
- `description`: توضیحات غذا
- جدول سفارشات (`orders`):
- `id`: شناسه سفارش (کلید اصلی)
- `customer_name`: نام مشتری
- `menu_id`: شناسه غذا (کلید خارجی)
- `quantity`: تعداد غذا
۲. راهاندازی PHP
برای شروع، باید PHP را بر روی سرور محلی خود نصب کنیم. سپس، از یک ویرایشگر متن استفاده کرده و فایلهای زیر را ایجاد کنیم:
- index.php: صفحه اصلی که شامل فرم ثبت سفارش و نمایش منو است.
- db.php: فایل اتصال به دیتابیس که شامل کدهای ایجاد اتصال و پرس و جو به دیتابیس خواهد بود.
۳. کد نمونه
در فایل `db.php`، کد زیر را اضافه کنید:
```php
<?php
$dsn = 'sqlite:database.sqlite';
try {
$pdo = new PDO($dsn);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
```
در فایل `index.php`، کد زیر را برای نمایش منو و فرم سفارش اضافه کنید:
```php
<?php
include 'db.php';
// نمایش منو
$stmt = $pdo->query('SELECT * FROM menu');
$menu = $stmt->fetchAll();
foreach ($menu as $item) {
echo $item['name'] . ' - ' . $item['price'] . '<br>';
}
?>
<form action="order.php" method="post">
<input type="text" name="customer_name" placeholder="نام مشتری" required>
<select name="menu_id" required>
<?php foreach ($menu as $item) : ?>
<option value="<?= $item['id'] ?>"><?= $item['name'] ?></option>
<?php endforeach; ?>
</select>
<input type="number" name="quantity" placeholder="تعداد" required>
<input type="submit" value="سفارش دهید">
</form>
```
۴. مدیریت سفارشات
در فایل `order.php`، کد زیر را اضافه کنید:
```php
<?php
include 'db.php';
$customer_name = $_POST['customer_name'];
$menu_id = $_POST['menu_id'];
$quantity = $_POST['quantity'];
$stmt = $pdo->prepare('INSERT INTO orders (customer_name, menu_id, quantity) VALUES (?, ?, ?)');
$stmt->execute([$customer_name, $menu_id, $quantity]);
echo "سفارش شما با موفقیت ثبت شد!";
?>
```
۵. نتیجهگیری
این پروژه یک سیستم رستوران ساده را با استفاده از PHP و SQLite پیادهسازی میکند. شما میتوانید با گسترش این پروژه، ویژگیهای بیشتری مانند مدیریت کاربران، گزارشگیری و پردازش پرداخت را اضافه کنید. این پروژه به شما کمک میکند تا درک بهتری از کار با دیتابیس و PHP پیدا کنید.
پروژه رستوران ساده در PHP و SQLite
در این پروژه، هدف این است که یک سیستم مدیریت رستوران ساده ساخته شود که با استفاده از PHP برای بخش سرور و SQLite به عنوان پایگاه داده، کار کند. این پروژه، طراحی شده تا بتواند عملیات پایهای مانند ثبت سفارش، مدیریت منو، و نمایش فهرست غذاها را انجام دهد. در ادامه، به تفصیل هر قسمت و بخشهای کلیدی این پروژه را شرح میدهیم.
ساختار کلی پروژه
پروژه شامل چندین فایل اصلی است که هر کدام وظیفه خاصی دارند:
- فایل پایگاه داده (database.sqlite): این فایل، پایگاه داده SQLite است که جداول مختلف را در بر میگیرد.
- فایل کانفیگ (config.php): برای اتصال به پایگاه داده و تنظیمات دیگر.
- صفحات کاربری (index.php، menu.php، order.php): برای نمایش منو، ثبت سفارش و مدیریت سفارشات.
- فایلهای عملیات (add_order.php، delete_order.php): برای افزودن و حذف سفارشها.
- صفحات مدیریت (admin.php): برای مدیریت کلی سیستم، افزودن غذا، حذف یا ویرایش آن.
پایگاه داده و جداول
در این پروژه، چند جدول اصلی وجود دارد:
- foods: شامل جزئیات غذاها مانند id، نام، قیمت، و توضیحات.
- orders: شامل سفارشات ثبت شده، شامل id، تاریخ، لیست غذاهای سفارش شده، و وضعیت سفارش.
برای راهاندازی پایگاه، ابتدا باید یک فایل SQL بنویسید و اجرا کنید تا جداول ساخته شوند. مثلا:
```sql
CREATE TABLE foods (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
price REAL NOT NULL,
description TEXT
);
CREATE TABLE orders (
id INTEGER PRIMARY KEY AUTOINCREMENT,
order_date TEXT NOT NULL,
items TEXT NOT NULL,
status TEXT DEFAULT 'Pending'
);
```
اتصال به پایگاه داده در PHP
در فایل `config.php`، باید اتصال به پایگاه داده SQLite برقرار شود:
```php
<?php
try {
$db = new PDO('sqlite:database.sqlite');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("خطا در اتصال به پایگاه داده: " . $e->getMessage());
}
?>
```
صفحات و عملیات
- نمایش منو (menu.php): لیستی از غذاهای موجود در جدول `foods`، با امکان افزودن به سبد سفارش.
- ثبت سفارش (order.php): دریافت آیتمهای انتخاب شده، ثبت در جدول `orders`، و نمایش تایید.
- مدیریت سفارشات: مشاهده، ویرایش، و حذف سفارشات، که معمولاً در صفحه مدیریت (`admin.php`) قرار میگیرد.
مراحل کلی فرآیند
- بازدید کاربر از صفحه منو.
- انتخاب غذاها و افزودن آنها به سبد.
- نهایی کردن سفارش و ثبت در پایگاه.
- نمایش وضعیت سفارش و امکان مدیریت آنها.
مزایای این پروژه
- سادگی و قابل توسعه بودن.
- استفاده آسان از PHP و SQLite بدون نیاز به سرور پیچیده.
- قابلیت افزودن ویژگیهایی مثل پرداخت آنلاین، گزارشگیری و مدیریت کارمندان در آینده.
در مجموع، این پروژه نمونهای عالی برای یادگیری ساخت سیستمهای مدیریت رستوران مبتنی بر وب است، که قابلیت توسعه و شخصیسازی را دارد. اگر نیاز به کد نمونه، یا توضیحات بیشتر دارید، حتما بگویید!