مروری جامع بر نمونه اسکریپت CRUD با AngularJS و PHP برای عملیات خواندن، نوشتن، بروز رسانی و حذف در دیتابیس


در دنیای برنامه‌نویسی وب، عملیات CRUD که مخفف کلمات Create، Read، Update و Delete است، نقش بسیار حیاتی و بنیادی دارند. این عملیات‌ها، ستون فقرات هر سیستم مدیریت داده‌ای محسوب می‌شوند، و بدون آن‌ها، ایجاد، نمایش، و اصلاح داده‌ها در دیتابیس‌ها امکان‌پذیر نخواهد بود. در این مقاله، قصد داریم به صورت جامع و کامل، نمونه‌ای از اسکریپت‌های کاربردی برای انجام عملیات CRUD در قالب برنامه‌ای که از فریمورک AngularJS در سمت کاربر و PHP در سمت سرور بهره می‌برد، ارائه دهیم. این راهکار، نمونه‌ای عملی و قابل پیاده‌سازی است که به توسعه‌دهندگان کمک می‌کند به آسانی و با بهره‌گیری از بهترین روش‌ها، سامانه‌های مبتنی بر وب خود را توسعه دهند.
  1. معرفی ساختار کلی پروژه
    پروژه مورد نظر شامل چند بخش است: بخش سمت کاربر (frontend) که با AngularJS پیاده‌سازی می‌شود، و بخش سمت سرور (backend) که با PHP نوشته شده است. این دو بخش به صورت یکپارچه، عملیات‌های CRUD را انجام می‌دهند، به گونه‌ای که کاربر بتواند داده‌ها را وارد، مشاهده، ویرایش یا حذف کند؛ و این تغییرات، در دیتابیس MySQL ذخیره شوند.
    2. طراحی بانک اطلاعاتی
    قبل از شروع کد نویسی، باید یک بانک اطلاعاتی مناسب طراحی کنیم. فرض کنیم جدولی به نام `users` داریم، با ساختار زیر:
    sql  

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(100),

email VARCHAR(100),

age INT

);


این جدول، اطلاعات کاربران را نگهداری می‌کند. هر رکورد شامل شناسه منحصر به فرد، نام، ایمیل و سن است.
  1. پیاده‌سازی سمت سرور با PHP
    در سمت سرور، نیازمند فایل‌هایی هستیم که عملیات‌های مختلف روی دیتابیس را مدیریت کنند. معمولاً، یک فایل PHP به نام `api.php` ساخته می‌شود که درخواست‌های مختلف را بر اساس نوع عملیات، مدیریت می‌کند.
    در این فایل، ابتدا اتصال به دیتابیس برقرار می‌شود:
    php  

<?php

$servername = "localhost";

$username = "root";

$password = "";

$dbname = "test_db";
$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {

die("Connection failed: " . $conn->connect_error);

}

?>


سپس، بر اساس نوع درخواست، عملیات مورد نیاز انجام می‌شود. برای مثال، عملیات خواندن داده‌ها:
php  

if ($_SERVER['REQUEST_METHOD'] === 'GET') {

$result = $conn->query("SELECT * FROM users");

$rows = array();

while ($row = $result->fetch_assoc()) {

$rows[] = $row;

}

echo json_encode($rows);

}


برای عملیات نوشتن (ایجاد یک کاربر جدید):
php  

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

$data = json_decode(file_get_contents('php://input'), true);

$name = $data['name'];

$email = $data['email'];

$age = $data['age'];
$stmt = $conn->prepare("INSERT INTO users (name, email, age) VALUES (?, ?, ?)");

$stmt->bind_param("ssi", $name, $email, $age);

$stmt->execute();

echo json_encode(["status" => "success"]);

}


و به همین صورت، برای بروزرسانی و حذف، درخواست‌های PUT و DELETE را مدیریت می‌کنیم.
  1. سمت کلاینت ب... ← ادامه مطلب در magicfile.ir