جلسه سیزدهم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
جلسه سیزدهم آموزش عملی ساخت پروژه پنل وب سایت شخصی با PHP
چند بخش میمونه، مثل کلمات کلیدی که بسیار ساده است و دسته بندی مطالب که کمی برای افراد مبتدی پیچیده است ولی با تمرین میتونید مسلط بشید و گالری تصاویر که اونم کار زیادی نداره و بیسش رو تقریبا کار کردیم، بخش سخت تر که همون دسته بندی مطالب باشه رو توی این جلسه کار می کنیم.
خب کار رو شروع می کنیم ، اول از همه ساختاری که استفاده میشه رو بررسی می کنیم و بعد هم کد نویسی و ...
برای دسته بندی مطالب ما مکانیزم خاصی نیاز داریم ، ما ممکنه برای یک دسته چندین شاخه داشته باشیم به این معنی که نیاز داشته باشیم ۴ عمق داخل بریم یا برای یک دسته ۱ عمق پیش بریم مثلا پوشیدنی – زمستانی – کاپشن – پشمی - ... پس باید برنامه ای درست کنیم که این نوع دسته بندی رو هندل کنه
البته انواع ساده تر دسته بندی هم میتونیم داشته باشیم مثلا یک تعداد دسته داشته باشیم و در آخر از کاربر بخوایم انتخاب کنه ولی این نوع دسته بندی کاربردی تر و دارای قابلیت درختی هم می باشد .
خب برای ساخت این نوع دسته بندی :
برای گرفتن دسته ها یک بخش درست می کنیم که تمام دسته ها رو نشون میدیم و برای ساختن زیر مجموعه روی آن کلیک می کنیم و اطلاعات دسته جدید رو وارد می کنیم و ذخیره می کنیم .
برای پست هم دسته ها رو نشون میدیم و از کاربر میخوایم که یکی رو انتخاب کنه و برای ویرایش پست هم لازمه همین کار رو انجام بدیم و انتخاب قبلی رو بهش نشون بدیم و بعد هم اگر مایل به تغییر بود تغییرش بده
برای شروع کار اول از همه یک صفحه میسازیم که خروجی اون تمام دسته بندی های ممکن باشه خوب صفحه cat.php رو با همون utf-8 بسازید .
کد های زیر رو در اون وارد کنید :
توضیح :
خب کدای بالا خیلی مهم هستن پیش نیازش هم اینه که یک جدول توی دیتابیسمون داریم به نام category که سه فیلد داره یکی cid که همون id همیشگی و بعدی name که نشان دهنده دسته بندی است و بعدی parent که id اون دسته بندی هست که بالای این دسته بندی وجود داره یا به عبارتی این دسته بندی زیر مجموعه اون محسوب میشه خب از این فعلا بگذریم و این کد رو توضیح بدیم تا بعدش دوباره دیتابیس رو درست کنیم و دسته بندی های پیش فرض رو هم بهش اعمال کنیم کامل متوجه میشید .
خب توی کد بالا که بهتون توضیح میدم چیزایی که قبلا هم داشتیم الان هم داریم ، یعنی همون کدینگ صفحه و اینکلود کردن کانکشن و چک ادمین رو فراموش نکنید .
نکته :
حواستون باشه که قبل از اینکه لاگین کنید صفحه هایی که میسازیم مثل همین cat.php رو باز نکنید تا متوجه ارور نشید .
بریم سراغ کد دوباره کد رو میزارم :خب یه تابع بازگشتی داریم به نام fetch… که این تابع کارش اینه تمام دسته بندی ها رو از جدول category استخراج کنه ، ورودی این تابع اول از همه متغیریه که آی دی دسته بندی والد رو نشون میده و آرگومان دوم هم یک آرایه ای هست که با توجه به اینکه تابع به صورت بازگشتی تعریف شده هر بار اطلاعات رو ذخیره می کنیم و تا انتهای کار تمام قسمت ها درون این آرایه ذخیره می کنیم و بعدا مورد استفاده قرار میدیم .
قسمت بعدی بررسی می کنیم که اگر ورودی ما به صورت آرایه نبود اونو آرایه کنه ، این کار برای بار اول باعث میشه تا متغیر ارسالی در آرگومان دوم به آرایه تبدیل شود و قابلیت ذخیره عضو جدید در اون به وجود بیاد .
در قسمت بعد یک کوئری میزنیم و درون $sql ذخیره می کنیم ، خب این کوئری پایه کار ماست در هر باری که تابع اجرا میشه این کوئری اجرا میشه به این معنی که هر بار تابع اجرا میشه این کوئری باید تمام زیر مجموعه های دسته بندی هایی که ورودی $parent برابر parent آن ها است را استخراج کند و در قسمت و در آرایه ای بعد از mysql_query قرار میگیرد .
خب برای اینجا به بعد عکس رو دوباره میذارم تا راحت متوجه بشید :
ت-3
بخش بعدی اینه که بررسی کنیم که اگر این $parent که به تابع داده شده است حتما فرزند داشته باشد یا به عبارتی کوئری ما صفر خط بر نگرداند بنابراین از دستور mysql_num_rows استفاده می کنیم تا تعداد خطوطی که کوئری ما برگردانده رو گرفته و اگر صفر نبود باید تمام زیر دست ها برای $parent رو استخراج کنیم .
قسمت بعدی ، همانطور که میبینید با نوشتن خط $user_tree_array[] = “<ul>” یک عضو به آرایه اضافه می کنه پس ما برای نشان دادن لیستی عناصر قبل از تمام فرزند ها لازمه تا لیست رو برای نمایش ایجاد کنیم .
در while ، قبلا اینو توضیح دادم به تعداد تمام رکورد های برگشته از کوئری یک while میذاریم تا تمام این موارد رو بررسی کنیم فقط از دستور fetch object استفاده می کنیم که فرقی با روش های دیگه fetch و اونی که توضیح داده بودم نداره .
درون while : درون while اطلاعات عنصر زیر مجموعه parent رو به آرایه اضافه می کنیم .
در اینجا با دستور $row->name به عنصر name ، $row دسترسی پیدا می کنیم و باز هم در یک لیست قرار میدیم تا در زیر مجموعه لیست مادر قرار گیرد .
دوباره عکس رو میذارم برای ادامه توضیحات :در خط بعدی تابع دوباره اجرا میشه و حاصل اون درون آرایه قرار میگیره بعد از اینکه تابع به تعداد لازم بازگشت کرد آرایه ای که تا به اینجا ذخیره شده رو برمیگردونه تا ذخیره بشه و در واقع در آخرین اجرا برنامه در قسمت $user_tree_array رو return میکنه و این آرایه دوباره درون خودش قرار می گیرد و تابع به قسمت بعد برمیگرده .
پس همانطور که دیدن یک آرایه ساختیم که تمام عناصر داخل اون به صورت لیست ذخیره شدن
برای قسمت بعدی همانطور که میبینید :
ت-5
این کد ها رو به فایل cat.php اضافه کنید .
توضیح :
با قرار دادن حاصل تابع fetch… در متغیر $res تمام آرایه بازگشت داده می شود و میتونیم اونو نمایش بدیم پس با دستور foreach به همانصورتی که در بالا میبینید آرایه در جایگاه اول قرار می گیرد و مقدار در قسمت دوم و بعد از as که به این ترتیب تمام عناصر آرایه پیمایش می شود و در هر مرحله در $r ذخیره می شود . که ما تمام آن ها را نشان می دهیم و با این کار تمام قسمت های آرایه و دسته بندی ها رو در قالب یک لیست نمایش میدیم .
خب کار گالری و تگ نویسی قطعی شد من توضیحات اونو به شما میدم و خودتون دست به کار میشید هر ایرادی که پیش اومد رو تلاش کنید تا حل کنید در غیر اینصورت اگر حل نشد از من میپرسید .
در واقع درست آموزش هم اینه که شما مطالب رو یاد بگیرید خودتون کد هاش رو تولید کنید ولی حالا من قسمت های مهمتر رو کد دادم بهتون ، کد خوانی صرف ، باعث ضعف برنامه نویسیه ، شما در واقع باید با کد هایی و نکاتی که یاد می گیرید ، کار های خلاقانه ای هم انجام دهید و خودتان با آن کد ها و با استفاده از هوش و خلاقیت ، ابزار ها و برنامه های جدیدی تولید کنید . کد ها همیشه یکسان است ولی ممکن است کدی را در یک تابع بازگشتی استفاده کنید و از آن برای تولید یک ساختار پیچیده ی تو در تو استفاده کنید و یا ممکن است از آن کد در یک حلقه ساده استفاده کنید که نتیجه آن ساده تر خواهد بود ، با توجه به نیاز برنامه با کد هایی که یاد میگیرید قادر خواهید بود هرچیزی را تولید کنید ، بنابر این این مثال ها بهترین ها از استفاده از کد هایی که یاد گرفتید بود .
پس من قسمت هایی که کلیدی هست رو برای شما تشریح میکنم و قسمت های یکسان رو میذارم تا خودتون تمرین کنید .
این قسمت دسته بندی خیلی نکته داره و اینو یاد بگیرید در واقع کار ما ۹۹ درصد تموم شده و اون یک درصد هم مطالب ریز باقی مانده
- توضیحات
- بازدید: 568
نظرات
- هیچ نظری یافت نشد.
نظر خود را اضافه نمایید
ارسال نظر به عنوان مهمان