رفتن به مطلب

رتبه بندی روزی یکبار


reza71

ارسال‌های توصیه شده

دوستان میخام تو بازیم سیستم ثبت امتیاز درست کنم و هر کاربری هروقت خواست بیاد و 10 نفر برتر رو بگیره

$sql="SELECT * FROM Game_scores ORDER BY score DESC LIMIT 10";

حالا میخام این کویری روزی یکبار انجام بشه و نتیجش یجا ثبت بشه که تا روز بعد هرکی اومد 10 نفر برتر رو خواست دیگه کویری انجام نشه و نتیجه از پیش ثبت شدرو دریافت کنه

 

یا یه کویری باشه بیاد روزی یکبار رکوردهای دیتابیسو بر اساس بیشترین امیتیاز کاربرا منظم کنه

لطفا یا کدش رو بنویسید یا بگین باید دنبال چه اموزشایی از php بگردم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام 

1 - چرا روزی یک بار ؟ خوب نتایج باید هرلحظه چک بشه و نمایش داده بشه ؟؟ برای 10 نفر هم که حجمی نمیگیره چک کردنش از طرف برنامه ؟؟

2 - اون کدی که شما زدی خودش اتوماتیک امتیازات رو از بالاترین به پایین ترین نشون میده یعنی تا یه امتیازی بالاتر بره طبق اون کد دیتابیس به صدر جدول میره 

 

3-اقای ایزدی اموزش ارتباط با دیتابیس انلاین رو در فروشگاه دارن اونو تهیه کنید کاملا مشکلتون حل میشه 

 

4 - با چه برنامه ای میخواید این سیستم رو ایجاد کنید  بیسیک یا کنستراکت ؟؟  چون کد بالا از برنامه الحاقی کنستراکته ؟ ؟ ؟ 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام 

1 - چرا روزی یک بار ؟ خوب نتایج باید هرلحظه چک بشه و نمایش داده بشه ؟؟ برای 10 نفر هم که حجمی نمیگیره چک کردنش از طرف برنامه ؟؟

2 - اون کدی که شما زدی خودش اتوماتیک امتیازات رو از بالاترین به پایین ترین نشون میده یعنی تا یه امتیازی بالاتر بره طبق اون کد دیتابیس به صدر جدول میره 

 

3-اقای ایزدی اموزش ارتباط با دیتابیس انلاین رو در فروشگاه دارن اونو تهیه کنید کاملا مشکلتون حل میشه 

 

4 - با چه برنامه ای میخواید این سیستم رو ایجاد کنید  بیسیک یا کنستراکت ؟؟  چون کد بالا از برنامه الحاقی کنستراکته ؟ ؟ ؟ 

برنامه 10000 یا بیشتر کاربر داره.

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

میخام رتبه بندی تو یه پی اچ پی جدا بزارم خودش روزی یبار انجام بشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دنبال آموزش cronjobs باشید :)

خواستید با 20 تومن ایینو براتون میزنم که اطلاعات هر روز تو یک فایل ریخته بشه که اصلا کاربر به دیتا وصل نشه  :gol: 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببین برادر من مهم نیست 100 تا کاربر داشته باشی یا  100 هزارتا  شما توی بیسیک میگی 10 نفر اول رو بگیره پس مشکلی بابت حجم و و دستور  پیش نمیاره  (اگر از هاست رایگان استفاده نکنی )

 

دوم شما برای اینکه  امتیاز ها رو نمایش بدی باید یک گزینه اپدیت داشته باشی php  که کاربر ها امتیازشون هر بار که میرن لیست رو ببینم اپ بشه 

 

پس قطعا باید در صفحه لیست تاپ 10 در شروع یک ارسال داشته باشی که امتیاز کاربر ثبت و یا اپدیت بشه و بعد از اون یک دستور دریافت 

 

 

ببین وقتی روزی یک بار یا هر 6 ساعت یک بار امتیاز اپدیت بشه 

کل کاربر ها تا امتیاز میگیرن و میرن لیست رو میبینن و تغییری توش حاصل نشه پس کمی گیر میدن و برنامه یا بازی رو ناقص میبینن 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دنبال آموزش cronjobs باشید :)

خواستید با 20 تومن ایینو براتون میزنم که اطلاعات هر روز تو یک فایل ریخته بشه که اصلا کاربر به دیتا وصل نشه  :gol:

cron job رو بلدم.

شما میتونی یه php بنویسی که هر بار بیاد خود دیتابیس رو سورت بندی بکنه(نتیجشو نمیگما) خود دیتابیس سورت بندیش عوض بشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببین برادر من مهم نیست 100 تا کاربر داشته باشی یا  100 هزارتا  شما توی بیسیک میگی 10 نفر اول رو بگیره پس مشکلی بابت حجم و و دستور  پیش نمیاره  (اگر از هاست رایگان استفاده نکنی )

 

دوم شما برای اینکه  امتیاز ها رو نمایش بدی باید یک گزینه اپدیت داشته باشی php  که کاربر ها امتیازشون هر بار که میرن لیست رو ببینم اپ بشه 

 

پس قطعا باید در صفحه لیست تاپ 10 در شروع یک ارسال داشته باشی که امتیاز کاربر ثبت و یا اپدیت بشه و بعد از اون یک دستور دریافت 

 

 

ببین وقتی روزی یک بار یا هر 6 ساعت یک بار امتیاز اپدیت بشه 

کل کاربر ها تا امتیاز میگیرن و میرن لیست رو میبینن و تغییری توش حاصل نشه پس کمی گیر میدن و برنامه یا بازی رو ناقص میبینن 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سورت ؟ تا حالا نشنیدم :)

 

گفته دوستمون آقای @@ebham,  میشه گفت تا حدودی درسته شما یک ملیارد تا هم کاربر داشته باشی فقط داری آی دی سلکت میکنی یک عدد چند ملیارد تا هم باشه حجمی نداره که بخواد فشار بیاره اگه اطلاعات زیاد باشه مثلا یک متن طولانی بله فشار میاره فشار خیلی زیاده هم میاره البته به cpu نه به mysql سرورتون که البته اینم بر میگرده به تعداد پردازنده سرورتون اگه بالای 4 تا باشه که مشکلی نیست نیازی به این ریزه کاری ها نیست

 

بگذریم منظور بنده کرونجابز سمت php بود نه کرونجابز cpanel که میری توش آدرس فایل میدی :)

در ضمن اگه بخواید بهینه در بیارید دیگه باید از دیتابیس بی نیاز بشید یعنی اطلاعات توی یک فایل به روش json ذخیره بشه :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 4 هفته بعد...

روشی ساده‌تر هم از هزینه کردن و این حرفا هم هستن. (سعی نکنید از هر چیزی کاسبی راه بندازید)

روشی که من شخصاً استفاده میکنم در اینجور مواقع، استفاده از متد cache هست.

 

مثال:

<?php
 
$cache_date = ( file_exists( 'cache.date' ) ? intval( file_get_contents( $cache_date ) ) : false ); // akharin vaghti ke data cache shode.
if ( ! $cache_date ) { // age dadeii nabod.
file_put_contents( 'cache.date', time() ); // yeki set kon.
}
 
if ( $cache_date >= ( time() + 86400 ) || ! file_exists( 'cache.content' ) ) { // bayad az database bekhoni.
// query ro inja anjam bede o natayej ro neshon bede.
// hasel ro ba function serialize code kon va beriz to ye file cache.content
// masalan:
file_put_contents( 'cache.content', $result ); // $result on motaghayeri hast ke natayej hast.
} else { // ghablan cache shode 
file_put_contents( 'cache.date', time() );
$result = unserialize( file_get_contents( 'cache.content' ) );
 
// hala az motaghayere result bara namayesh eteleat estefade kon 
}
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

روشی ساده‌تر هم از هزینه کردن و این حرفا هم هستن. (سعی نکنید از هر چیزی کاسبی راه بندازید)

روشی که من شخصاً استفاده میکنم در اینجور مواقع، استفاده از متد cache هست.

 

مثال:

<?php
 
$cache_date = ( file_exists( 'cache.date' ) ? intval( file_get_contents( $cache_date ) ) : false ); // akharin vaghti ke data cache shode.
if ( ! $cache_date ) { // age dadeii nabod.
file_put_contents( 'cache.date', time() ); // yeki set kon.
}
 
if ( $cache_date >= ( time() + 86400 ) || ! file_exists( 'cache.content' ) ) { // bayad az database bekhoni.
// query ro inja anjam bede o natayej ro neshon bede.
// hasel ro ba function serialize code kon va beriz to ye file cache.content
// masalan:
file_put_contents( 'cache.content', $result ); // $result on motaghayeri hast ke natayej hast.
} else { // ghablan cache shode 
file_put_contents( 'cache.date', time() );
$result = unserialize( file_get_contents( 'cache.content' ) );
 
// hala az motaghayere result bara namayesh eteleat estefade kon 
}

 

دوست عزیز اگه جواب سوالی رو میخواید بدید به سایر پاسخ ها تیکه نندازید . امروز اتفاقی پستتون را دیدم . :)

 

اگه قرار بر تیکه انداختن هست این روشی که الان استفاده کردید اولین روشی بود که بعد از ساخت php مد شد یعنی قدیمی ترین روش . هنوزم هستن افرادی که از این روش استفاده کننده ولی الان مورد های جالب تر و جدید تر و بهینه تری اومده مثل filesystem , memcached و موردی که در حال حاضر بهینه ترین روش هست توی php  به نام apc که البته پیش نیاز های سرورش زیاده و تنظیمش دردسر داره برا همین کم سروری هست که از این روش استفاده کنه . این کدی که شما گذاشتی اطلاعات از دیتابیس نمیخونه فقط اطلاعات خونده شده را کش میکنه . بنده میخواستم از memcached استفاده کنم که بعد از apc در حال حاضر حرف اولو میزنه بعد از memcached بهترین روش filesystem هست و بعد این روشی که شما گذاشتید :)

ضمنان این روش شما از cpanel باید کرونجابز بشه بنده میخواستم با سرویس setcronjob.com ست کنم که در php.net بار ها در تابع های کش با کرونجابز تاکید شده از سرویس کرونجابز استفاده کنید تا کرونجابز سی پنل .

 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز اگه جواب سوالی رو میخواید بدید به سایر پاسخ ها تیکه نندازید . امروز اتفاقی پستتون را دیدم . :)

 

اگه قرار بر تیکه انداختن هست این روشی که الان استفاده کردید اولین روشی بود که بعد از ساخت php مد شد یعنی قدیمی ترین روش . هنوزم هستن افرادی که از این روش استفاده کننده ولی الان مورد های جالب تر و جدید تر و بهینه تری اومده مثل filesystem , memcached و موردی که در حال حاضر بهینه ترین روش هست توی php  به نام apc که البته پیش نیاز های سرورش زیاده و تنظیمش دردسر داره برا همین کم سروری هست که از این روش استفاده کنه . این کدی که شما گذاشتی اطلاعات از دیتابیس نمیخونه فقط اطلاعات خونده شده را کش میکنه . بنده میخواستم از memcached استفاده کنم که بعد از apc در حال حاضر حرف اولو میزنه بعد از memcached بهترین روش filesystem هست و بعد این روشی که شما گذاشتید :)

ضمنان این روش شما از cpanel باید کرونجابز بشه بنده میخواستم با سرویس setcronjob.com ست کنم که در php.net بار ها در تابع های کش با کرونجابز تاکید شده از سرویس کرونجابز استفاده کنید تا کرونجابز سی پنل .

 

بنابر این همیشه تفاوتی بین کار تجاری و رایگان هست . با تشکر ا

 

 

 

دوست عزیز اگه جواب سوالی رو میخواید بدید به سایر پاسخ ها تیکه نندازید . امروز اتفاقی پستتون را دیدم .  :)

 

اگه قرار بر تیکه انداختن هست این روشی که الان استفاده کردید اولین روشی بود که بعد از ساخت php مد شد یعنی قدیمی ترین روش . هنوزم هستن افرادی که از این روش استفاده کننده ولی الان مورد های جالب تر و جدید تر و بهینه تری اومده مثل filesystem , memcached و موردی که در حال حاضر بهینه ترین روش هست توی php  به نام apc که البته پیش نیاز های سرورش زیاده و تنظیمش دردسر داره برا همین کم سروری هست که از این روش استفاده کنه . این کدی که شما گذاشتی اطلاعات از دیتابیس نمیخونه فقط اطلاعات خونده شده را کش میکنه . بنده میخواستم از memcached استفاده کنم که بعد از apc در حال حاضر حرف اولو میزنه بعد از memcached بهترین روش filesystem هست و بعد این روشی که شما گذاشتید  :)

ضمنان این روش شما از cpanel باید کرونجابز بشه بنده میخواستم با سرویس setcronjob.com ست کنم که در php.net بار ها در تابع های کش با کرونجابز تاکید شده از سرویس کرونجابز استفاده کنید تا کرونجابز سی پنل .

 

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

 

البته که memcached روش خیلی بهتری محسوب میشه، ولی دوستمون که راهنمایی خواستن، احتمالاً به php مسلط نیستن، اگه میدونستم که متخصص هستن، قطعاً memcached رو بهشون معرفی می‌کردم.

APC هم متأسفانه نمیدونم هاستینگ‌های ایرانی چه مشکلی باهاش دارن که 80% هاستینگ‌های ایرانی میس کانفیگ کردن.

روش filesystem تاجایی که من میدونم همین روشی هست که من استفاده کردم، حالا نمیدونم شاید هم تفاوت داشته باشه.

روشی هم که من رفتم شاید بار اول و دوم کمی به سرور فشار بیاره (اونم نه زیاد)، ولی دفعات بعدی، بهینه‌ترین روش محسوب میشه (یه نگاهی به پلاگین های وردپرس مثل w3 cache یا super cache بندازید).

 

امروز هم یکی از دوستان این تاپیک رو دیدن و به من اطلاع دادن که هیچ کدوم اینا لازم نیست و بهترین روش SQL Cacheه. یه نگاهی به این صفحه بندازید.

 

ضمناً درمورد تیکه، من فکر نمی‌کنم که بحث بیسیکی مثل کش، اینقدر سخت باشه که بخوایم اونو از روش تجاری حلش کنیم. به هر حال ما اینجا جمع شدیم که علم خودمون رو به رایگان اشتراک بزاریم. درمورد قدیمی بودن روش مذکور هم مثل اینه که شما بیاید به من بگید چرا با کیبورد کد میزنی؟ چرا با کیبورد پروژکتوری کد نمیزنی؟ یه سری چیزا امکانات و زیرساخت‌های زیادی می‌طلبه که در جهان جا بیفتن :-) کش فایلی هم الان با توجه به شرایط هاستینگ های کشور به نظر خود من بهترین روش محسوب میشه.

 

موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

البته که memcached روش خیلی بهتری محسوب میشه، ولی دوستمون که راهنمایی خواستن، احتمالاً به php مسلط نیستن، اگه میدونستم که متخصص هستن، قطعاً memcached رو بهشون معرفی می‌کردم.

APC هم متأسفانه نمیدونم هاستینگ‌های ایرانی چه مشکلی باهاش دارن که 80% هاستینگ‌های ایرانی میس کانفیگ کردن.

روش filesystem تاجایی که من میدونم همین روشی هست که من استفاده کردم، حالا نمیدونم شاید هم تفاوت داشته باشه.

روشی هم که من رفتم شاید بار اول و دوم کمی به سرور فشار بیاره (اونم نه زیاد)، ولی دفعات بعدی، بهینه‌ترین روش محسوب میشه (یه نگاهی به پلاگین های وردپرس مثل w3 cache یا super cache بندازید).

 

امروز هم یکی از دوستان این تاپیک رو دیدن و به من اطلاع دادن که هیچ کدوم اینا لازم نیست و بهترین روش SQL Cacheه. یه نگاهی به این صفحه بندازید.

 

ضمناً درمورد تیکه، من فکر نمی‌کنم که بحث بیسیکی مثل کش، اینقدر سخت باشه که بخوایم اونو از روش تجاری حلش کنیم. به هر حال ما اینجا جمع شدیم که علم خودمون رو به رایگان اشتراک بزاریم. درمورد قدیمی بودن روش مذکور هم مثل اینه که شما بیاید به من بگید چرا با کیبورد کد میزنی؟ چرا با کیبورد پروژکتوری کد نمیزنی؟ یه سری چیزا امکانات و زیرساخت‌های زیادی می‌طلبه که در جهان جا بیفتن :-) کش فایلی هم الان با توجه به شرایط هاستینگ های کشور به نظر خود من بهترین روش محسوب میشه.

 

موفق باشید.

 

نمیخوام بحث زیاد ادامه پیدا کنه Cache SELECT Options همون روش دستی هست که اومدن براش توی sql تابع گذاشتن که دیگه چند تیبلی که قبلا به وجود میومد به وجود نیاد ولی به کار کسایی که چند تیبلی کار میکنن نمیاد برای همین توسعه اش متوقف شد چون محتوا خیلی کمی میشه باهاش کش کرد محتوا هم سنگین باشن با سلکت کردن خود تیبل اصلی تفاوتی پیدا نمیکنه

 

20 تومن پولی نیست که بخوام به خاطرش بحث کنم . پیشنهاد بود میتونن قبول کنن میتونن قبول نکنن

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

 

 

درمورد قدیمی بودن روش مذکور هم مثل اینه که شما بیاید به من بگید چرا با کیبورد کد میزنی؟ چرا با کیبورد پروژکتوری کد نمیزنی؟ یه سری چیزا امکانات و زیرساخت‌های زیادی می‌طلبه که در جهان جا بیفتن :-)

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

 

 

یه نگاهی به پلاگین های وردپرس

اسکریپتی که خودش هیچی نباشه فقط با پلاگینها و قالبش یک چیز خوب در بیادو من اصلا قبول ندارم :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...