جلسه پنجم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP

متن سلام سعی می کنیم سریع تر پیش بریم ولی با جزئیات و دقیق پس تمام آموزش رو دقیق دنبال کنید .
توی این جلسه پست ها رو از دیتابیس دریافت می کنیم و در یک قالب نشون میدیم ؛ نحوه طراحی منطق حذف و ادیت پست هم یاد می گیرید .
خب توی panel.html منوی ویرایش پست رو اضافه می کنیم و یک فایل هم در دایرکتوری اصلی با نام editpost.php اضافه می کنیم ؛ توجه کنید ویرایش پست به حذف و یا تغییر پست اشاره دارد و ما در صفحه editpost پست ها رو نمایش می دهیم و برای هر پست امکان حذف و ویرایش قرار می دهیم .
پس این شد panel.html :
 

جلسه پنجم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP

با همون سبک قدیم یک منوی جدید به صفحه مدیریت اضافه کردیم .
خب حالا صفحه editpost.php رو هم با utf-8 بسازید .

محتویات زیر رو هم که در عکس زیر رو میبینید را وارد نمایید .

 

جلسه پنجم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
توجه کنید که قالب بالا همیشه ثابت و باید در تمام صفحات ادمین وجود داشته باشد چون هم باید انکد صفحه درست باشد هم لاگین کاربر چک شود و هم کانکشن جهت اتصال به دیتابیس لازم است .
یک مطلب مهم اینه که توی فایل تغییر پست ؛ نمایش و قالب رو از php جدا نمیکنیم و دلیل این کار اینه که نمایش ما به اطلاعات php بستگی دارد ؛ درست مانند صفحه اول یک سایت چون اطلاعات نمایشی به موارد php بستگی داره و فایل های html قابلیت اجرایی ندارند پس یا ما باید اطلاعات را دریافت کنیم و در html نمایش دهیم که امکان پذیر نیست چون قابلیت اجرایی ندارند یا اینکه بین فایل php از html استفاده کنیم یا اینکه اگر خیلی تکه تکه میشه فایل html از خیرش بگذریم و در یک فایل php همونطوری که خواهید دید تمام موارد رو اعمال کنیم .
پس ما برای فایل editpost.php فایل نمایشی جداگانه ای نخواهیم داشت و دلیل آن این است که اطلاعات رو در قالب یک table میخوایم برگردونیم که برای هر سطر جدول نمیتونیم فایل html داشته باشیم پس مجبورا درون همین فایل تمام موارد رو اعمال می کنیم .
برای دریافت پست ها باید کوئری بنویسیم و تمام پست ها با ویژگی دلخواه را دریافت کنیم ؛ و در اینجا چون تمام پست ها رو میخوایم نمایش بدیم از یک کوئری بدون اعمال ویژگی خاصی استفاده می کنیم .
موارد زیر رو به فایل editpost اضافه کنید :

 

جلسه پنجم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
توضیح :
طبق معمول یک کوئری با دستور mysql_query نوشتیم و حاصل رو در $r قرار میدیم حالا در این کوئری که ما نوشتیم قراره یک آرایه برگرداند که بعد اول آن تمام خطوط است که شرط کوئری ما را برقرار کرده است و بعد دوم و سوم و ... این آرایه به ترتیب فیلد های هر سطر است که توسط کوئری بازگردانده شده است .
توضیح دستور کوئری :
همانطور که میبینید کوئری برای دریافت تمام پست ها نوشته می شود پس برای دریافت اول از همه عبارت SELECT رو نیاز داریم و در مرحله بعد باید بگیم کدوم فیلد ها رو لازم داریم که در اینجا ما چون تمام فیلد ها رو میخوایم و اکثرا هم شما به تمام فیلد ها نیاز دارید از کاراکتر (*) استفاده می کنیم و این به این معنی است که تمام فیلد ها رو بردار شرطی هم نداریم و در آموزش های بعدی کوئری های شرطی رو بررسی می کنیم .
در قسمت بعدی این کوئری باید مشخص کنید که ترتیب خروجی آرایه به چه صورت باشد ؛ معمولا ما نیاز داریم تا اطلاعات جدیدتر رو بالاتر دریافت کنیم برای این منظور باید به ترتیب نزولی id ها رو مرتب کنیم که در این حالت id بیشتر یعنی پستی که از پست های با id کمتر دیرتر نوشته شده پس باید بالاتر قرار بگیرد پس با دستور ORDER BY id بر اساس id مرتب می کنیم و با دستور DESC به صورت نزولی دریافت می کنیم که در این صورت پست های جدیدتر رو زودتر دریافت می کند .
نکته : در مقابل این دستور ASC قرار دارد که اطلاعات رو به صورت صعودی دریافت می کند.
کوئری رو توضیح دادیم و میریم سراغ نمایش اطلاعات :
نمایش اطلاعات :
برای این که این آرایه رو قسمت به قسمت بررسی کنیم از دستور mysql_fetch_array استفاده می کنیم ؛ در این دستور $r یا همون حاصل جستجو رو قرار می دهیم و با قرار دادن این دستور در یک while تمامی عناصر آن را مورد بررسی قرار می دهیم و برای دسترسی به آن عناصر حاصل رو داخل متغیر دیگه ای مثلا $q قرار میدیم .
پس هر مرحله کهwhile اجرا میشه یک خط که توسط کوئری انتخاب شده اطلاعاتش درون $q قرار می گیرد و با دادن نام فیلد که همان بعد n ام آرایه است میتوانیم به اطلاعات آن دست پیدا کنیم .
مثلا $q[‘writer’] نام نویسنده اون خطی رو برمیگردونه که اول از همه جزو رکورد های منتخب دیتابیس بوده و ثانیا در while در حال حاضر به اطلاعاتش دسترسی داریم .
توضیح جدول بندی و ساخت لینک ویرایش و حذف برای هر پست :
اول از همه متغیری تعریف می کنیم تا شماره سطر رو در هر مرحله داشته باشیم : $count
در مرحله بعدی یک جدول همانطور که می بینید درون دستور echo استفاده می شود .

نکته خیلی مهم :
همانطور که میبینید داخل این دو کاراکتر “ “ که نشان دهنده حدود echo است نباید دوباره از “ “ استفاده کنیم که در این صورت خطا می گیریم و باید از کاراکتر ‘ استفاده کرد و جایی که از ‘ استفاده می کنیم باید از کاراکتر “ در داخل آن استفاده کرد .
این اولین موضوع و بعد همانطور که گفتم فایل هم به صورتی ساختیم که دیزاین و کد رو با هم به کار ببریم و همینطور که در کد می بینید با استفاده از کاراکتر (.) موارد رو به هم مربوط کردیم .
اول از همه یک سطر درست کردیم که در این سطر مواردی که می خواستیم رو نمایش دادیم در هر بار که while اجرا میشه یک سطر جدید به ما میده که لازمه با استفاده از قالبی که می بینید اطلاعات رو درون td های یک echo جایگذاری کنیم .
اما در مورد حذف و ویرایش که برای هر سطر در نظر می گیریم :
یک فایل جداگانه مثل editpost.php.php میسازیم که با دادن داده های edit یا delete به متغیر action متوجه میشویم که پست برای edit یا delete و اینکه فیلدی که تمام رکورد های دیتابیس رو از هم مجزا میکنه id که برای هر سطر یکتا می باشد پس از id هم استفاده می کنیم تا پستی که کاربر تصمیم به edit یا delete اون داره رو تشخیص بدیم .

در آموزش های بعدی delete و edit و ساخت دیتابیس تصاویر و آپلود تصویر پست رو کار می کنیم ، شما می توانید درون دیتابیس تصاویر را هم ذخیره کنید ولی این کار به هیچ عنوان توصیه نمی شود چرا که فقط باعث افزایش حجم دیتابیس و کند شدن کار با آن می شود در جلسات بعد با روش ذخیره تصاویر به همراه آدرس آشنا می شوید .

 

1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)
افزودن نظر
  • هیچ نظری یافت نشد.
قدرت گرفته از کومنتو فارسی جوملا نال

مطالب مشابه

تماس با ما

همکاری با ما

تور کیش با پرواز ماهان

تور دبی با پرواز ماهان

تور آنتالیا با پرواز ماهان

تور دبی ویژه شهریور 94 با پرواز ماهان