پس از آنکه با PDO تا اندازه ای آشنا شدید، پیش از وارد شدن به درج داده ها (INSERT) می خواهیم بروز کردن داده های درون جدول را آموزش دهیم. برای این آموزش، باید چندین نوشته به هم پیوسته گفته شود و در هر نوشته بخشی از آنچه که می خواهیم آموزش دهیم را به شما بگوییم. برای آموزش های بروز رسانی، پایگاه داده از پیش آماده ای به نام Employees را به کار می بریم که می توانید از اینجا بارگیری (دانلود) و از این آموزش آن را نصب کنید.

چه چیزی انجام می دهیم

پیش از آن که وارد کد نویسی شویم، بهتر است بدانیم که چه چیزی داریم، چه چیزی می خواهیم و چه باید بکنیم. برای آموزش بروز رسانی (Update) داده ها یک جدول آماده (بارگیری از بالا) به نام Employee داریم. این جدول هر ستونی دارد ما تنها به سه ستون first_name و last_name و hire_date نیاز داریم، پس در گام نخست نشان می دهیم چگونه با SQL یک جدول نو از روی جدولی از پیش بوده (در اینجا Employee) بسازیم.

پس از آن که جدول نو که در رشته از آموزش ها آن را new_employee می نامیم، آماده شد، باید تابع هایی بنوسیم که این تابع ها برای هم کنشی (تعامل) با پایگاه داده به کار می روند.باید توانیم بر پایه شناسه کارمند، داده های همان تک کارمند را واکشی کنیم و همچنین باید بتوانیم داده های کنونی کارمند را با داده های تازه، بروز کنیم.

این پروژه بسیار بسیار ساده دارای سه فایل است که آنها را در ادامه فهرست کرده ایم. در هر کدام از این فایل ها، بخشی از پروژه انجام می شود ولی اگر بخواهیم انگیزه از پروژه را بگوییم، در کنار آموزش بروز کردن داده های پایگاه داده با PDO، می خواهیم بازبینی داشته باشیم بر دریافت داده از نشانی URL بر پایه متد GET در HTTP و دریافت داده از فرم های اچ تی اول بر پایه متد POST که پیش از این در پیوندهای زیر آموزش داده ایم.

  • فایل index.php که درون آن جدولی است که دارای پنج ستون شناسه، نام، نام خانوادگی، سال بکارگیری (استخدام) کارمند و پیوند (یا دگمه) Edit برای ویرایش داده های کارمند است.
  • فایل edit.php که درون آن داده های تک کارمند ویژه به همراه توانایی ویرایش داده ها نشان داده می شود.
  • فایل  functions.php که درون آن تنها تابع های پی اچ پی نوشته می شوند و سپس این تابع را به درون دو فایل دیگر پیوست می کنیم.

فرستادن داده بوسیله آدرس URL به سایت – متد GET

اداره کردن فرم HTML در PHP – بخش نخست

اداره کردن فرم HTML در PHP – بخش دوم

فایل function.php

این فایل که در نوشته پسین آموزش داده می شود شامل همه تابع هایی است که برای بدست آوردن و بروز رسانی داده ها به کار می روند. برای پیش گیری از بهم ریختگی و ناخوانا شدن اسکریپت های پی اچ پی، یک فایل جدا گانه را داشته باشیم که تابع ها درون آن نوشته و سپس این فایل به هرفایل دیگری پیوست شود و سپس به هر کدام از تابع هایی که نیاز داریم نیاز داریم دسترسی داشته باشیم.

فایل index.php

این فایل همانی است که در نوشته  برای نمایش داده های جدول پایگاه داده درون جدول اچ تی ام ال آموزش دادیم و تفاوت هایی نیز در آن است. چون می خواهیم داده هر کدام از کارمندان را بروز کنیم، پس باید یک پیوند (یا دگمه) به نام Edit داشته باشیم که درون آن فرم اچ تی ام ال باشد که داده ها را ویرایش کنیم. بنابراین ستون تازه ای به نام Edit Employee افزوده شده تا با کلیک روی آن داده های کارمند همام سطر ویرایش شود. با کلیک روی پیوند (لینک) Edit در هر سطر جدول اچ تی ام ال، برگه وب تازه ای باز می شود که درون آن هم داده های کارمند (نام و نام خانوادگی و تاریخ بکارگیری (استخدام)) نمایش داده می شود. همچنین فرم اچ تی ام ال نیز هست که برای ویرایش به کار گرفته خواهد شد.

فایل edit.php

این فایل همانی است با کلیک روی لینک های Edit درون ستون Edit Employee در فایل index.php به آن فرستاده می شویم. نشانی آدرس این برگه همراه با یک رشته کوئری به الگوی زیراست که در آن emp_no همان شناسه کامندی است که درون فایل index.php به آن دست یافته بودیم. ایده آن است که همه کارمندان از درون پایگاه داده در فایل index.php نمایش داده شوند پس شناسه کارمندی را داریم. بر پایه الگوی زیر زمانی که روی لینک Edit کلیک می کنید، نشانی تازه به برگه edit.php ساخته شده و سپس خود برگه نمایش داده می شود. این نشانی تازه همراه خود شناسه کارمندی را دارد که از آن و بوسیله متد GET در HTTP برای دسترسی به داده های همان کارمند کمک می گیریم که این همان مفهوم فرستادن داده از URL بوسیله متد GET است که در نوشته فرستادن داده بوسیله آدرس URL به سایت – متد GET آموزش داده بودیم.

در کنار اینکه درون edit.php باید بوسیله متغیر سراسری GET_$ به شناسه کارمند در رشته کوئری درون نشانی URL دسترسی داشته باشیم تا از آن برای انجام پرس و جو (کوئری) در پایگاه داده کمک بگیریم از سوی دیگر شاید کارمند بخواهد داده های خود را ویرایش کند پس باید داده های فرستاده شده از فرم های اچ تی ام ال را نیز بوسیله متغیر POST_$ اداره کنیم. بنابراین برگه وبی که بوسیله edit.php نشان داده می شود، یک پروفایل ساده برای کارمند است.

آماده سازی پایگاه داده

برای این رشته از آموزش ها پایگاه داده از پیش آماده را به کار می بریم که از اینجا می توانید چگونگی نصب آن را بخوانید. پایگاه داده شامل شماری جدول است که ما تنها با یکی از آنها، جدول Employee کار خواهیم کرد. همچنین همه ستون های آن را نیازی نداریم، بلکه تنها چهار ستون شناسه کارمندی، نام، نام خانوادگی و تاریخ بکارگیری کارمند را نیاز داریم. بنابراین این چهار ستون و ستون دیگر، Edit Employee . nv در جدول برگه index.php نشان داده می شوند.

در کد زیر چون می خواهیم جدول employee دست نخورده بماند، پس یک کپی از آن درون جدول دیگری به نام new_employee پیاده سازیمی کنیم. در کد زیر درون هم پایگاه داده ای که employee هست، یک جدول نو را می سازیم (CREATE TABLE) که دارای تمامی ستون  های جدول employee است. سپس بوسیله دستور INSER INTO … AS SELECT سطرهای از جدول employee را به درون new_insert می ریزیم. البته چون عبارات LIMIT 100 را به کار برده ایم، تنها ۱۰۰ سطر از جدول employee به درون new_employee ریخته می شوند.

در کد بالا نخست دستور SELECT * FROM انجام شده ولی تنها ۱۰۰ سطر نخست را واکشی می کند، زیرا عبارت LIMIT 100 را به کار برده ایم. سپس مقدار هر کدام از ستون ها از سطرهای واکشی شده درون ستون های همسان خود در جدول new_employee ریخته می شوند تا جدول دلخواه آماده شود. در مطلب پسین در باره فایل functions.php و تابع های آن گفتگو می کنیم.

دانلود کد PHP7 Update PDO – Database