الجزء 6: تنفيذ عمليات CRUD (إنشاء، قراءة، تعديل، حذف)
الفئات (عرض القائمة، إنشاء، تعديل، حذف)
عرض الفئات (categories/index.php)
لإظهار قائمة الفئات من قاعدة البيانات، استخدم الكود التالي في ملف categories/index.php
:
<?php
// categories/index.php
include '../includes/header.php';
include '../includes/db_connect.php';
// جلب جميع الفئات
$stmt = $pdo->query('SELECT * FROM categories');
$categories = $stmt->fetchAll();
?>
<div class="flex justify-between mb-4">
<h2 class="text-2xl font-semibold">Categories</h2>
<a href="create.php" class="bg-green-500 text-white px-4 py-2 rounded">Add Category</a>
</div>
<table class="min-w-full bg-white">
<thead>
<tr>
<th class="py-2">ID</th>
<th class="py-2">Name</th>
<th class="py-2">Actions</th>
</tr>
</thead>
<tbody>
<?php foreach ($categories as $category): ?>
<tr class="text-center border-t">
<td class="py-2"><?php echo htmlspecialchars($category['id']); ?></td>
<td class="py-2"><?php echo htmlspecialchars($category['name']); ?></td>
<td class="py-2">
<a href="edit.php?id=<?php echo $category['id']; ?>" class="bg-blue-500 text-white px-2 py-1 rounded">Edit</a>
<a href="delete.php?id=<?php echo $category['id']; ?>" class="bg-red-500 text-white px-2 py-1 rounded" onclick="return confirm('Are you sure you want to delete this category?');">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php include '../includes/footer.php'; ?>
إنشاء فئة جديدة (categories/create.php)
لإضافة فئة جديدة، استخدم الكود التالي في categories/create.php
:
<?php
// categories/create.php
include '../includes/header.php';
include '../includes/db_connect.php';
$name = '';
$error = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = trim($_POST['name']);
if (empty($name)) {
$error = 'Category name is required.';
} else {
// إدخال البيانات في قاعدة البيانات
$stmt = $pdo->prepare('INSERT INTO categories (name) VALUES (:name)');
$stmt->execute(['name' => $name]);
header('Location: index.php');
exit();
}
}
?>
<div class="max-w-md mx-auto bg-white p-6 rounded shadow">
<h2 class="text-2xl font-semibold mb-4">Add New Category</h2>
<?php if ($error): ?>
<div class="bg-red-100 text-red-700 p-2 mb-4 rounded">
<?php echo htmlspecialchars($error); ?>
</div>
<?php endif; ?>
<form method="POST" action="">
<div class="mb-4">
<label class="block text-gray-700">Name</label>
<input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>" class="w-full px-3 py-2 border rounded" required>
</div>
<div class="flex justify-end">
<button type="submit" class="bg-blue-500 text-white px-4 py-2 rounded">Add Category</button>
</div>
</form>
</div>
<?php include '../includes/footer.php'; ?>
تعديل فئة (categories/edit.php)
لتعديل فئة موجودة، استخدم الكود التالي في categories/edit.php
:
<?php
// categories/edit.php
include '../includes/header.php';
include '../includes/db_connect.php';
if (!isset($_GET['id'])) {
header('Location: index.php');
exit();
}
$id = $_GET['id'];
$error = '';
// جلب الفئة الحالية
$stmt = $pdo->prepare('SELECT * FROM categories WHERE id = :id');
$stmt->execute(['id' => $id]);
$category = $stmt->fetch();
if (!$category) {
echo "Category not found.";
exit();
}
$name = $category['name'];
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = trim($_POST['name']);
if (empty($name)) {
$error = 'Category name is required.';
} else {
// تحديث البيانات في قاعدة البيانات
$stmt = $pdo->prepare('UPDATE categories SET name = :name WHERE id = :id');
$stmt->execute(['name' => $name, 'id' => $id]);
header('Location: index.php');
exit();
}
}
?>
<div class="max-w-md mx-auto bg-white p-6 rounded shadow">
<h2 class="text-2xl font-semibold mb-4">Edit Category</h2>
<?php if ($error): ?>
<div class="bg-red-100 text-red-700 p-2 mb-4 rounded">
<?php echo htmlspecialchars($error); ?>
</div>
<?php endif; ?>
<form method="POST" action="">
<div class="mb-4">
<label class="block text-gray-700">Name</label>
<input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>" class="w-full px-3 py-2 border rounded" required>
</div>
<div class="flex justify-end">
<button type="submit" class="bg-blue-500 text-white px-4 py-2 rounded">Update Category</button>
</div>
</form>
</div>
<?php include '../includes/footer.php'; ?>
حذف فئة (categories/delete.php)
لحذف فئة، استخدم الكود التالي في categories/delete.php
:
<?php
// categories/delete.php
include '../includes/db_connect.php';
if (isset($_GET['id'])) {
$id = $_GET['id'];
// حذف الفئة
$stmt = $pdo->prepare('DELETE FROM categories WHERE id = :id');
$stmt->execute(['id' => $id]);
}
header('Location: index.php');
exit();
?>
بإكمال هذه الخطوات، تكون قد نفذت بنجاح عمليات CRUD (إضافة، عرض، تعديل، حذف) لفئات نظام نقاط البيع.
اترك تعليقاً