PDA

View Full Version : سوال: ایجاد دسته بندی



amirepsilon
دوشنبه 18 آذر 1387, 16:43 عصر
سلام
فکر کنید میخواهیم برای مقالات دسته بندی درست کنیم
من یکسری الگویتم میگم دوستان لطف کنن اشکالات رو بگن
اگر کسی پیشنهاد بهتری هم داشت پذیراییم :خجالت:


یک جدول برای دسته ها و یک جدول در بانک اطلاعاتی میسازیم
در واقع ID دسته را در فیلدی از رکورد مقاله ذخیره میکنیم.
هنگام صدا زدن کافی است LIMIT کنیم
اگر تا اینجا مشکلی نبود لطفا بگید :


نحوه ساخت زیر مجموعه به تعداد زیاد
نحوه نمایش دسته ها (معمولی یا به صورت منو بازشو)
نحوه حذف دسته ها (با حذف دسته پدر چه اتفاقی می افتد)
ممنون
یا علی

yaqubian
سه شنبه 19 آذر 1387, 10:03 صبح
دوست عزیز
موارد 1 و 2 و 3 تقریبا درسته ولی من اینطوری می گم:
شما برای ذخیره دسته ها کافیه که یه جدول با دو فیلد در نظر بگیرید:
فیلد اول همون ID یا شماره دسته هست که شما بهتر اون رو به صورت auto_increment در نظر بگرید. در ضمن این فیلد P.K هم هست.
فیلد دوم هم واسه ذخیره کردن نام دسته هست.
واسه صدا زدن هم بستگی داره چطور و کجا می خواین دسته ها رو صدا بزنین.
واسه زیر دسته ها یه جدول با فیلد های زیر باید ایجاد کنین:
1- فیلد ID واسه شماره زیردسته
2- نام زیر دسته
3- شماره دسته(که زیردسته مربوط به اون دسته هست)
برای نمایش هم راه های زیادی هست. می شه از css یا منوهای javascript استفاده کرد.
واسه حذف هم کافیه شما فیلد پدری رو که می خواین ID ش رو برگردونین بعد از جدول زیر دسته تمامی زیردسته هایی که شماره دستشون با این ID برابره رو هم حذف کنین.
موفق باشید

amirepsilon
چهارشنبه 20 آذر 1387, 06:28 صبح
ممنون ولی مشکل من بیشتر با زیر دسته ها و نمایش اونها و کار کردن با اونها ست

yaqubian
چهارشنبه 20 آذر 1387, 08:44 صبح
دوست عزیز
تو کدوم قسمتش مشکل دارید؟ تو ایجاد جدول یا نمایش اونها؟
موفق باشید

amirepsilon
چهارشنبه 20 آذر 1387, 13:36 عصر
نمایش !
ساخت جدول یا اصافه زیاد کاری نداره

reza.palang
چهارشنبه 20 آذر 1387, 14:13 عصر
دوست عزیز
موارد 1 و 2 و 3 تقریبا درسته ولی من اینطوری می گم:
شما برای ذخیره دسته ها کافیه که یه جدول با دو فیلد در نظر بگیرید:
فیلد اول همون ID یا شماره دسته هست که شما بهتر اون رو به صورت auto_increment در نظر بگرید. در ضمن این فیلد P.K هم هست.
فیلد دوم هم واسه ذخیره کردن نام دسته هست.
واسه صدا زدن هم بستگی داره چطور و کجا می خواین دسته ها رو صدا بزنین.
واسه زیر دسته ها یه جدول با فیلد های زیر باید ایجاد کنین:
1- فیلد ID واسه شماره زیردسته
2- نام زیر دسته
3- شماره دسته(که زیردسته مربوط به اون دسته هست)
برای نمایش هم راه های زیادی هست. می شه از css یا منوهای javascript استفاده کرد.
واسه حذف هم کافیه شما فیلد پدری رو که می خواین ID ش رو برگردونین بعد از جدول زیر دسته تمامی زیردسته هایی که شماره دستشون با این ID برابره رو هم حذف کنین.
موفق باشید
سلام
منظورت اینه که جدول اول شاملمجموعه های اصلی باشه و جدول دوم شامل زیر مجموعه ها که ID مجموعه پدر رو از جدول اول میگیره؟
اینجور که اگر باشد فقط تا دو سطح از مجموعه ها میشه داشت

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

yaqubian
چهارشنبه 20 آذر 1387, 16:21 عصر
دوست عزیز
اگه منظور دوستمون amirepsilon زیرمجموعه های تو در تو باشه فرمایش جنابعالی کاملا صحیح هستش.
از تذکرتون ممنون.
موفق باشید

amirepsilon
چهارشنبه 20 آذر 1387, 21:22 عصر
سلام
ظاهرا آقا رضا منظور بنده رو فهمیدن

amirepsilon
یک شنبه 24 آذر 1387, 18:03 عصر
میشه یه نمونه کد کامل بزارید ؟

zoghal
دوشنبه 25 آذر 1387, 00:01 صبح
این هم نمونه کد

http://crisp.tweakblogs.net/blog/317/formatting-a-multi-level-menu-using-only-one-query.html

zoghal
سه شنبه 26 آذر 1387, 00:31 صبح
این روش برای تعداد زیاد کت گوری ها اصلا پیشنهاد نمیشه
و بهترین روش روش درخت دودویی هست که اسم خاصی داره اما فراموش کردم

amirepsilon
سه شنبه 26 آذر 1387, 06:30 صبح
چرا نمیشه ؟ میشه توضیح بدی ؟
روش درخت دودویی رو هم بی زحمت توضیح بده(با مثال)

yaqubian
سه شنبه 26 آذر 1387, 09:20 صبح
دوست عزیز
http://www.phpclasses.org/browse/package/2670.html
موفق باشید

amirepsilon
سه شنبه 26 آذر 1387, 16:08 عصر
Files:

FileRoleDescriptionhttp://files.phpclasses.org/graphics/file.gif btree.class.php (http://www.phpclasses.org/browse/file/11713.html)ClassBinary tree Class with exampleDownload all files: btree.tar.gz (http://www.phpclasses.org/browse/package/2670/download/targz.html) btree.zip (http://www.phpclasses.org/browse/package/2670/download/zip.html)NOTICE: if you are using a download manager program like 'GetRight', please Login (http://www.phpclasses.org/login.html?page=browse%2Fpackage%2F2670.html) before trying to download this archive.
این قسمت رو باید دانلود کنم ؟

yaqubian
سه شنبه 26 آذر 1387, 21:59 عصر
دوست عزیز
فایل zip رو دانلود بفرمایید.
موفق باشید