خانه / PHP / پیاده سازی CRUD در PHP (قسمت 1)

پیاده سازی CRUD در PHP (قسمت 1)

پیاده سازی CRUD در PHP قسمت 1

سایر پست های مربوط به این آموزش :

 

 

یکی از کارهای متداول برنامه نویسان وب ایجاد Grid برای پیاده سازی عملیات CRUD است    ( CRUD مخفف Delete , Update , Read ,Create ) است. این فرآیند در سیستم های مدیریت محتوا ، سیستم هایی که در آن فهرستی از داده ها مدیریت می شود و یا نرم افزار های حسابداری کاربرد دارد.در صورتیکه شما تازه شروع به برنامه نویسی وب کرده اید در آینده به احتمال زیاد به این نیاز پیدا خواهید کرد.

grid CRUD  این امکان را به کاربر می دهد که داده ها را ایجاد(Create) ،حذف (Delete) ، ویرایش (Update) ویا بخواند(Read). به طور معمول ما داده ها را در پایگاه داده MySQL ذخیره می کنیم . PHP یک زبان سمت سروری است که این امکان را به کاربران سایت می دهد که جدول های پایگاه داده MySQL را با استفاده از عملیات CRUD  تغییر دهند.

در این سری آموزشی به مراحل ساختن یک گرید CRUD در PHP خواهیم پرداخت  و نشان می دهیم که چگونه PHP که یک زبان سمت سروری است با پایگاه داده MySQL  ارتباط برقرار می کند و داده ها را در قالب HTML برای کاربران سایت ارسال می کند.

1.ایجاد پایگاه داده نمونه 

در این آموزش ما با یک جدول پایگاه داده که دستورات sql آن در پایین قرار دارد  کار خواهیم . بعد از آموزش باید با توجه به نیاز جدول های پایگاه داده خود را طراحی کنید.

جدول زیر را به پایگا ه داده خود ایجاد کنید .

همانطور که می بینید این یک جدول ساده برای نگهداری اطلاعات مشتریان (نام ، نام خانوادگی و..)است. و دارای یک کلید اصلی است که به صورت auto incremental تعریف شده.

2. ارتباط با پایگاه داده 

یک فایل PHP با نام database.php ایجاد کنید و یک کلاس PHP با نام ِDatabase  در فایل تعریف کنید. در این برنامه کلاس Database وظیفه ارتباط و قطع ارتباط با پایگاه داده را برعهده دارد.

همانطور که می بینید از PDO برای دسترسی به دیتابیس استفاده می کنیم .  استفاده از PDO مزایای زیادی  دارد که مهترین آن روشی یکسان برای دسترسی به چند دیتابیس فراهم می کند .

برای استفاده از این کلاس شما نیاز دارید این مقادیر را به درستی وارد کنید $dbName, $dbHost, $dbUsername, $dbUserPassword.

  • $dbName : نام دیتابیسی که جدول customers در آن قرار دارد.
  • $dbHost نام  هاست که معمولا localhost است
  • $dbUsername نام کاربری برای ارتباط به دتابیس
  • $dbUserPassword کلمه عبور کاربر برای اتصال به پایگاه داده.

خوب با هم نگاهی به توابع این کلاس می کنیم:

  • __construct(): سازنده کلاس Database است. از انجایی که کلاس به صورت استاتیک تعریف شده است مقدار دهی اولیه به کلاس مجاز نیست و برای جلوگیری کردن از استفاده نادرست از کلاس از تابع die  برای دادن پیغام به کاربر استفاده می کنیم.
  • connect:  تابع اصلی کلاس است و از الگوی singleton برای اطمینان از اینکه تنها یک PDO connection در کل برنامه وجود دارد استفاده می کند. به دلیل اینکه این متد استاتیک تعریف می شود ما از Database::connect() برای ایجاد کانکشن استفاده می کنیم.
  • disconnect : ارتباط با پایگاه داده را قطع می کند و مقدار کانشکن را برابر NULLقرار می دهد. ما از این تابغ برای بستن کانکشن ها استفاده می کنیم.

3. ایجاد گرید با استفاده از Twitter Bootstrap

برای پیاده سازی عملیات CRUD ما نیاز به یک grid داریم بنابراین ابتدا یک grid می سازیم  و سپس صفحات مربوط به ایجاد (Create) ، خواندن (Read) , به روز رسانی (Update) و در نهایت حذف (Delete) را می سازیم.

برای دانلود بوت استرپ از این لینک استفاده می کنیم دانلود بوت استرپ ورژنی که در این آموزش استفاده شده است 2.3.2 است . سپس یک فایل PHP با نام index.php بسازید.

در صورتیکه مراحل به درستی انجام دهید باید ساختاری مشابه شکل زیر ایجاد شده باشد.

php-crud-file-structure-1

حال فایل index.php را باز کرده و کدهای زیر را درآن کپی کنید.

بررسی کدها :

  • در قسمت <head> فایل های CSS و JavaScript بوت استرپ  را به صفحه  include می کنیم.
  • خط های 15 تا 38 قسمت اصلی این فایل را تشکیل می دهند . در این بخش داده ها از دیتابیس بازیابی شده و در grid نمایش داده می شوند. حال نگاهی دقیق به این قسمت خواهیم داشت .
  • ما ابتدا یک جدول با هدری که بر اساس فیلد های جدول مشتریان در دیتابیس است ایجاد می کنیم. که شامل Name و Email Address و شماره همراه است.

سپس database.php را  include کرده و یک کانکشن PDO به دیتابیش ایجاد می کنیم و با استفاده از دستور SELECT داده ها را بازیابی می کنیم. در پایان با استفاده از یک حلقه همه محتویات را نمایش می دهیم . همچنین همانگونه که در ابتدا گفته شد حتما کانکشن باید بسته شود.

در صورتیکه مراحل به درستی انجام شده باشد شما باید یک گرید خالی مانند شکل زیر بعد از فراخوانی صفحه index.php داشته باشید.

php-crud-grid-list

همانطور که می بینید گرید خالی است چون داده ای در داخل جدول مشتریان وجود ندارد برای امتحان به صورت دستی در جدول مشتریان داده ای وارد کنید تا در گرید نمایش داده شود.

4. ادامه دارد 

به دلیل طولانی شدن مقاله ادامه آن در پست بعدی خواهد بود که در آن نشان خواهیم داد که چگونه صفحات مربوط به ایجاد (Create)  ، خواندن (Read) مربوط به عملیات CRUD در PHP را بسازیم.

امیدارم این مقاله برای شما مفید باشد لطفا  این مقاله را در با استفاده از دکمه های پایین در صفحات اجتماعی  به اشتراک بگذارید . برای ادامه کار ما نیاز به حمایت شما داریم .

در صورت هر گونه سوال و یا خطا  می توانید  آن را در پایین ویا انجمن سایت مطرح کنید.

 

 

مدیر یت آکادمی برنامه نویسان

درباره ی محمد آذرنیوا

مدیر یت آکادمی برنامه نویسان

همچنین ببینید

telegram-php

نحوه به کارگیری تلگرام در PHP

با توجه به محبوبیت پیام رسان تلگرام احتمالا شما هم بخواهید از این برنامه  پیام ...

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *