پروژه رستوران ساده با 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 پیدا کنید.