مشاهده نسخه کامل
: انتخاب رندم در بانک
با چه دستوری میشه یه انتخاب رندم از سطرهای یک جدول در بانک mysql داشت ؟
یعنی در هر بار بازدید از صفحه خاص یک مقدار تصادفی از رکوردهای یک جدول رو به نمایش گذاشت ؟
parstech
12-02-2012, 21:35
با فرض این که نمی دونید چندتا رکورد در جدول تون وجود داره از این روش میتونید استفاده کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خود mysql بصورت درونی تابعی برای این منظور درنظر گرفته.
مثال بالا به اینصورت میشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]_rand
parstech
12-02-2012, 22:34
خود mysql بصورت درونی تابعی برای این منظور درنظر گرفته.
مثال بالا به اینصورت میشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]_rand
فرمایش ایشون رو به این شکل تکمیل میکنم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
neopersia
12-02-2012, 23:15
به نظر من روشی که در پست #3 معرفی شد (به صورت اصلاح شده در پست #4) مناسبتره. البته ظاهراً در جدولهایی که تعداد رکورد خیلی زیاد دارند (در حد میلیون) این روش یک مقدار کنده
در تعداد رکورد بالا بهتره از روشی که در پست #2 گفته شد استفاده کنید که البته اون هم یک مقدار ویرایش لازم داره تا بهینه سازی بشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یا اینکه میشه همه کارها رو از طریق mysql و با یک کوئری انجام داد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته من هیچ کدوم از این روش ها رو روی جدولی با تعداد رکورد خیلی زیاد تست نکردم و فقط تئوری میگم. فرض هم بر این هست که فیلد id ایندکس شده هست و بنابراین شمارش کل رکوردها خودش یه دردسر جدید ایجاد نمیکنه!
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.