ذخیره و خاندن منو ها

abdollahpor69

New Member
سلام دوستان .خسته نباشید ..ببخشید من میخام یه منو رو در پایگاه داده با استفاده از php ذخیره کنم ..چه جوری باید پایگاهمو طراحی کنم و کد php رو چه جوری بنویسم ..ممنون میشم راهنمایی کنید :

مثلا توی این تصویر :

1359447679911.gif


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

برا مثال تو سطح : کامپیوتر =1 و صوتی=2 و تصویری =3 باشه و شماره ها رو برا کد گروهشون گذاشتم
بعد فرزندانشون برا کامپیوتر میشه :
حافظه ، کد پدر =1 و کد خودش 4 ..به این شکل حالا برا برا خوندنش مشکل دارم ..حتی برا ذخیره کردنشم مشکل دارم ..چیکار کنم
 

jeyson

Active Member
تا اونجا که من می دونم منو رو با CSS و یا AJAX و یا Flash و گاهی با JS میسازن؟
منظورتون از ذخیره در پایگاه داده چیه؟ چیشو می خوای ذخیره کنی؟
 

abdollahpor69

New Member
درسته اون که بله ولی خب ....برا مثال من میخام یه فرم بسازم که کاربر بتونه به منو اضاف کنه ..مثلا ..من به عنوان کاربر میخام به منو داشته باشم ..کامپیوتر و زیر منو هاشم بهش اضاف کنم و هرچی هم خاستم سطح اضاف کنم ..و اینا توسط فایل php و select ها توی منوی css یا ...نمایش داده بشه ....اینو میخام ..حالا موندم چه جوری بخونمشون ..یا ذخیرشون کنم ..پایگاهم رو چه جوری طراحی کنم ... اینا سوالامه ...میشه به صورت دستی منوی css رو ساخت ولی من میخام با فرم باشه و کاربری که از کد نویسی چیزی نمیدونه بتونه هر چه قدر میخاد منو اضاف کنه و همینطور زیر منو
 

sanecity

Member
سلام
توی دیتابیس اینها رو بزار
[PHPS]id //برای انتخاب و ویرایش ایدی منحصر به فرد
name //اسم لینک
url // آدرسش
cat // بخش مربوطه
sort // تنظیم چیدمان[/PHPS]
حالا لینکهای پدر باید قسمت cat عدد صفر بزاری و لینکهای پسر بخش cat باید آیدی پدرشون باشه
برای نشون دادنشون باید از لیست ها استفاده کنی و با CSS هم تنظیم کنی
اگه متوجه نشدی بیشتر بگم
 

kassit

Member
و در تکمیل نظر sanecity عزیز،

برای خواندن اطلاعات باید از یک تابع بازگشتی استفاده کنید. به این شکل که تابع ابتدا ردیف هایی با cat = 0 رو بررسی و بعد برای هر ردیف یک بار خودش رو صدا می زنه تا ردیف های فرزند رو واکشی کنه.
البته راه های دیگه ایی هم هست، اما این ساده ترین روشه.
 

abdollahpor69

New Member
ببخشید من با حلقه ها نوشتم چون توابع بازگشتی رو بلد نیستم ....الان مشکلم فقط برا سطر 3 هست ..تا دو سطر حساب میکنه ولی سطر سه و چهار که میرسه دیگه قاطی میکنه
 

kassit

Member
اشکال حلقه همینه دوست عزیز که
  1. مدیریت سطوح سخت تره
  2. تا سطوح محدودی رو می شه پردازش کرد.

اما با توابع بازگشتی شما دیگه نگران سطوح نیستید چون می تونه تا بینهایت رو محاسبه کنه
مثال تابع بازگشتی:

[PHPS]
function drawNodes($nodes){
// اگر ورودی یه آرایه است تگ های باز بسته لیست رو قرار بده
if(is_array($nodes)){
$result = '<ul>';
foreach($nodes as $node)
$result .= '<li>'.drawNodes($node).'</li>';
$result .= '</ul>';
} else
/**
* در غیر این صورت احتمالا باید یک رشته یا عدد باشه
* در این حال خود مقدار رو بازگشت بده
* این قسمت در شرط بالا و بین حلقه بازگشت داده می شه.
*/
$result = $node;

return $result;
}
[/PHPS]

این یه مثال کاملا ساده برای درک شما از منطق توابع بازگشتی بود، بنابر این تست نشده و به بهینه سازی نیاز داره.
 

hqt_2006

New Member
ممنون- خیلی به دردم خورد

دستتون درد نکنه
منم همپین برنامه ای داشتم...
 

جدیدترین ارسال ها

بالا