PDA

View Full Version : سوال: تعیین موقعیت منوها



idocsidocs
چهارشنبه 24 خرداد 1391, 16:23 عصر
توی شاخه بندی وب سایت، می تونم موقعیت هر منو رو بر حسب عدد تعیین کنم.

یه مشکل وجود داره و اونم اینکه امکان داره چند منو در موقعیت یک سان قرار بگیره. مثلا چند منو توی موقعیت 2 قرار بگیرن.

چطور می شه طوری برنامه نوشت که هر منو یه موقعیت منحصر به فرد باشه؟

البته اگر چند منو توی موقعیت 2 قرار داشتن و منوی جدید به این موقعیت اضافه بشه، منو های قبلی به موقعیت 3 منتقل بشن.

امیدوارم خوب توضح داده باشم

djsaeedkhan
چهارشنبه 24 خرداد 1391, 16:43 عصر
سلام
خوب شما بیا همه اینایی که میخوای نشون بدی رو بر اساس یه آیدی منحصر به فردشون نشون بده. اینجوری اگر هم نام هم وجود داشت با هم قاطی نمیشن و بر اساس تقدم و تاخرشون قرار میگیرن

idocsidocs
چهارشنبه 24 خرداد 1391, 17:24 عصر
سلام
خوب شما بیا همه اینایی که میخوای نشون بدی رو بر اساس یه آیدی منحصر به فردشون نشون بده. اینجوری اگر هم نام هم وجود داشت با هم قاطی نمیشن و بر اساس تقدم و تاخرشون قرار میگیرن
این آی دی منحصر به فرد رو چطور باید بسازم؟

djsaeedkhan
چهارشنبه 24 خرداد 1391, 17:54 عصر
سلام
شما تو دیتابیس وقتی ستون درست می کنی و خاصیت auto increment میذاری . همین کارو هم اینجا انجام بده

idocsidocs
چهارشنبه 24 خرداد 1391, 20:43 عصر
من می خوام طوری بشه که مدیر سایت موقعیت منوها رو تعیین کنه و بتونه منوها رو جابجا کنه.

چطور می تونم این کار رو انجام بدم؟

saeidpsl
چهارشنبه 24 خرداد 1391, 22:47 عصر
میتونی یه قسمت به جدول menu هات در sql اضافه کنی مثلآ row

وقتی منو ها لود میشن بر حسب ترتیب row لود بشن

مثلا منوی اصلی میشه row شماره 2
یا مثلا منوی کاربری row شماره 1

و در بخش تنظیمات سایت یه جا برای تغییر row یا همون ترتیب منو ها اضافه میکنی

:چشمک::لبخند:

idocsidocs
پنج شنبه 25 خرداد 1391, 00:01 صبح
میتونی یه قسمت به جدول menu هات در sql اضافه کنی مثلآ row

وقتی منو ها لود میشن بر حسب ترتیب row لود بشن

مثلا منوی اصلی میشه row شماره 2
یا مثلا منوی کاربری row شماره 1

و در بخش تنظیمات سایت یه جا برای تغییر row یا همون ترتیب منو ها اضافه میکنی

:چشمک::لبخند:
مسئله خوندن ردیفها نیست !

چطور می تونم کاری کنم که هر ردیف یه موقعیت منحصر به فرد داشته باشه.

djsaeedkhan
پنج شنبه 25 خرداد 1391, 00:02 صبح
من می خوام طوری بشه که مدیر سایت موقعیت منوها رو تعیین کنه و بتونه منوها رو جابجا کنه.
چطور می تونم این کار رو انجام بدم؟

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

MMSHFE
پنج شنبه 25 خرداد 1391, 11:05 صبح
دوست عزیز، نگاهی به CMSهای آماده هم بد نیست. مثلاً بخش مدیریت بلوکها توی PHP-Nuke رو ببینید. اونجا مدیر وقتی میخواد ترتیب رو تغییر بده، برای بلوکهای مختلف فلشهای بالا و پایین نشون داده شده و وقتی مثلاً روی فلش بالا کلیک میکنید، id اون بلوک که روی فلش مربوطه کلیک کردین ارسال میشه همراه با action مربوطه (up یا down) و بعد، توی صفحه مقصد میاد ترتیب اون رو یکی کم میکنه و ترتیب قبلی رو یکی زیاد میکنه. اینطوری با هم جابجا میشن. برای اولین بلوک هم فلش بالا و برای آخرین بلوک فلش پایین نشون داده نمیشه. موفق باشید.

idocsidocs
پنج شنبه 25 خرداد 1391, 12:31 عصر
مثلاً بخش مدیریت بلوکها توی PHP-Nuke رو ببینید.
مهندس فقط همین مورد نیست.
مثلا توی سایت http://www.parscoders.com نگاه کنید.
وقتی رتبه یه مدیر تغییر می کنه، باید رتبه همه مدیرها رو تغییر بدن.

یا توی سیستم مدرسه و ... اگه بخوایم رتبه دانش آموزها رو تغییر بدیم باید رتبه همه رو با هم تغییر بدیم.

برای این موارد باید چیکار کرد؟

MMSHFE
پنج شنبه 25 خرداد 1391, 12:41 عصر
خوب یکی رو ارتقا بدین، بقیه رو تنزیل درجه کنید. مثلاً:

UPDATE `table` SET `rank`=`rank`-1 WHERE (`id`='5');
UPDATE `table` SET `rank`=`rank`+1 WHERE (`id`<>'5');