PDA

View Full Version : گفتگو: چه الگوریتمی رو پیشنهاد میکنید؟



persian_farvahar
پنج شنبه 21 آذر 1387, 18:50 عصر
سلام دوستان من یه مشورت باهاتون میخوام کنم

1-برای اینکه مدیر وب سایت بتونه قالب رو عوض کنه (مثل وبلاگ ها) چه روشی و یا الگوریتمی رو پیشنهاد مبکنید.

2-برای لینک های راهنما منظور چیزی شبیه به بالای صفحه همین فروم:
جامعه برنامه نویسان فارسی زبان > مباحث مرتبط با توسعه وب > توسعه وب (Web Development) > توسعه PHP
چه روش یا الگوریتمی رو پیشنهاد میکنید؟

narsic
پنج شنبه 21 آذر 1387, 23:35 عصر
برای سوآل اولتون میتونید از اسمارتی استفاده کنید (اما php خودش یک موتور قالب کامل هستش اینو گفتم که همه دادش نزنن میدونم)
منظورتون رو از سوآل دوم متوجه نمیشم .
موفق باشید

persian_farvahar
جمعه 22 آذر 1387, 09:26 صبح
ممنون دوست عزیز
ببینید در مورد اسمارتی بگم خودم هم همین رو در نظر داشتم ولی به نظزم یکم سنگین اومد.
حالا اگه راه دیگه ای یا روش دیگه ای واسه اینکار میدونید خوشحال میشم بگید.

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

سنگین شدن رو به خاطر این میگم:
مثلآ فرض کنید یه سبد خرید موقت داریم اون با سشن و نگه داشتن هویت کاربران اونم با سشن و این لینک راهنما هم با سشن حالا اگه تعداد کاربران آنلاین سایت بالا برن یکم برای سایت فشار نمیاد؟
شما چه روشی رو پیشنهاد میکنید.

reza.palang
جمعه 22 آذر 1387, 11:08 صبح
من فکر میکنم توی DB هر بخش یک بخش پدر داره و با ورود به هر صفحه سلسله مراتب بخش ها محاسبه و نمایش داده میشه
اگر از متغیر یا سشن استفاده بشه مشکل خواهید داشت
فرض کنید یکی آدرس همین صفحه رو ذخیره کرده باشه و مستقیم به اینجا بیاد.

zoghal
جمعه 22 آذر 1387, 11:11 صبح
بجای اسمارتی هم میتونی از کلاس های تمپلیت انجین هادر سایت www.phpclasses.org استفاده کنی . کارت رو راه میندازند اما خوب به پای اسمارتی نمی رسند

persian_farvahar
جمعه 22 آذر 1387, 11:51 صبح
اگر از متغیر یا سشن استفاده بشه مشکل خواهید داشت
فرض کنید یکی آدرس همین صفحه رو ذخیره کرده باشه و مستقیم به اینجا بیاد.
خوب آدرس رو وارد کنه مگه چی میشه؟
کافیه که ما هویت کاربر رو تست کنیم

zamanphp
جمعه 22 آذر 1387, 20:02 عصر
روش اول رو که دوستان توضیح دادند
روش دوم رو می تونی از آرایه استفاده کنی . من خودم شخصا از این روش استفاده می کنم البته به شرطی که فایل اصلی همه درخواستها رو هندل کنه . در غیر این صورت باید از سشن استفاده کنی.
خیلی خیلی هم ساده هست :
هر صفحه ای که درخواست میشه عنوان و لینک اون صفحه تو یه آرایه می ریزی و در خاتمه جائی که قرار نمایش داده بشه رو با یه حلقه چاپ کن
اگه خواستی تا یه نمونه کد ساده برات بذارم

persian_farvahar
جمعه 22 آذر 1387, 22:39 عصر
هر صفحه ای که درخواست میشه عنوان و لینک اون صفحه تو یه آرایه می ریزی و در خاتمه جائی که قرار نمایش داده بشه رو با یه حلقه چاپ کن اگه خواستی تا یه نمونه کد ساده برات بذارم درست متوجه نشدم ممنون میشم یه نمونه بزارین.

reza.palang
جمعه 22 آذر 1387, 22:51 عصر
خوب آدرس رو وارد کنه مگه چی میشه؟
کافیه که ما هویت کاربر رو تست کنیم
اون وقت اگر من آدرس بخش php رو به صورت مستقیم وارد کنم نمیتونه سلسله مراتب بخش ها رو داشته باشم
جامعه برنامه نویسان فارسی زبان > مباحث مرتبط با توسعه وب > توسعه وب (Web Development) >

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

reza.palang
جمعه 22 آذر 1387, 22:54 عصر
روش اول رو که دوستان توضیح دادند
روش دوم رو می تونی از آرایه استفاده کنی . من خودم شخصا از این روش استفاده می کنم البته به شرطی که فایل اصلی همه درخواستها رو هندل کنه . در غیر این صورت باید از سشن استفاده کنی.
خیلی خیلی هم ساده هست :
هر صفحه ای که درخواست میشه عنوان و لینک اون صفحه تو یه آرایه می ریزی و در خاتمه جائی که قرار نمایش داده بشه رو با یه حلقه چاپ کن
اگه خواستی تا یه نمونه کد ساده برات بذارم
اینجوری فقط رد پای کار بر ثبت میشه. که از کدوم صفحه به کجا رفته. و نمیتونه چیزی شبیه به این تولید کنه:
جامعه برنامه نویسان فارسی زبان > مباحث مرتبط با توسعه وب > توسعه وب (Web Development) >
مثلا با تایپ ادرس بخش "توسعه php" اولین عضو آرایه خواهد بود

persian_farvahar
جمعه 22 آذر 1387, 23:43 عصر
اون وقت اگر من آدرس بخش php رو به صورت مستقیم وارد کنم نمیتونه سلسله مراتب بخش ها رو داشته باشم
جامعه برنامه نویسان فارسی زبان > مباحث مرتبط با توسعه وب > توسعه وب (Web Development) >
درسته الان دوزاریم افتاد.
شما چه روشی رو پیشنهاد میکنید.؟

zamanphp
شنبه 23 آذر 1387, 14:43 عصر
اگه مبهم بود بگو توضیح بدم

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

reza.palang
شنبه 23 آذر 1387, 20:53 عصر
//example
$paths = new Paths();
$paths->addStep('جامعه برنامه نویسان فارسی زبان', 'http://www.barnamenevis.org/forum/index.php');
$paths->addStep('مباحث مرتبط با توسعه وب ','http://www.barnamenevis.org/forum/forumdisplay.php?f=9');
$paths->addStep('توسعه وب (Web Development) ', 'http://www.barnamenevis.org/forum/forumdisplay.php?f=70');
$paths->addStep('توسعه PHP','http://www.barnamenevis.org/forum/forumdisplay.php?f=30');

این مثالی که زدید زمانی پیش میاد که کار بر سایت اول صفحه "جامعه برنامه نویسان فارسی زبان" رو ببینه بعد صفحه "مباحث مرتبط با توسعه وب" بعد "توسعه وب" و در آخر"توسعه PHP'"
حالا اگر من این آدرس رو توی سیستم خودم ذخیره کرده باشم و توی آدرس بار بنویسم و دکمه Enter رو فشار بدم چه اتفاقی میوفته؟؟؟؟؟

$paths = new Paths();
$paths->addStep('توسعه PHP','http://www.barnamenevis.org/forum/forumdisplay.php?f=30');

فقط کد های بالا تولید و اجرا میشن


ظاهرا منظورم رو درست متوجه نشدید
پس میبینی که متوجه شدم. ;)

reza.palang
شنبه 23 آذر 1387, 20:58 عصر
درسته الان دوزاریم افتاد.
شما چه روشی رو پیشنهاد میکنید.؟
پببینید شما باید سلسله مراتب بخش ها رو به هر طریقی باید توی دیتا بیس داشته باشید
یعنی باید مشخص باشه که بخش C زیر مجموعه ای از بخش A هست
پس زمانی که کار بر سایت وارد یک صفحه میشه میتونید بخش اون و بخش های بالا ترش رو از دیتابیس واکشی کنید و نشون بدید
همین

امید امرایی
یک شنبه 24 آذر 1387, 13:53 عصر
همونطور که reza.palang (http://barnamenevis.org/forum/member.php?u=33394) عزیز فرمودن بهترین و منطقی ترین روش اینه که هر بخش یک والد داشته باشه .
استفاده از آرایه یا امثالهم غیر کاربردی و نا مناسب هستند.


Table Category(Cat_Id, Cat_name)

Table SubCategory(SubCat_Id, Cat_Id, SubCat_Name)

Table Topic(Topic_Id, SubCat_Id, Subject, Content)


این یه مثال کاملا ساده بود