PDA

View Full Version : انتخاب رکورد رندوم (تصادفی) از بانک اطلاعاتی



amirepsilon
پنج شنبه 16 آبان 1387, 07:26 صبح
سلام
آیا php تابعی داره که یه عدد رندوم بده ؟
ممنون
یا علی

payamsalami
پنج شنبه 16 آبان 1387, 08:02 صبح
تابع های مختلفی هست که می تونی از طریق سایت php.ne پیدا کنی مثله تابع های زیر
()rand و mt_rand که دو تا آرگومنت میگرهو عدد تصادفی بین اون دو آرگومنت رو برمی گردونه

yaqubian
پنج شنبه 16 آبان 1387, 08:32 صبح
دوست عزیز
کافیه دستور sql تون رو بصورت زیر بنویسین:

SELECT RAND()
موفق باشید

amirepsilon
پنج شنبه 16 آبان 1387, 08:53 صبح
سلام
ممنونم
دوست من آیا بعد از دستور select میشه عدد نوشت ؟

مثلا : select 5 from tabel ???

یعنی رکورد پنجم ؟
ممنون
یا علی

sama01
پنج شنبه 16 آبان 1387, 09:33 صبح
سعی کنید تا جایی که ممکنه پردازش‌های مربوط به db را در محیط برنامه انجام دهید. با همان دستوری جناب یعقوبی نوشتند.

yaqubian
پنج شنبه 16 آبان 1387, 10:08 صبح
دوست عزیز
منظورتون چیزی شبیه اینه؟؟؟

SELECT TOP 3 * FROM table
موفق باشید

amirepsilon
پنج شنبه 16 آبان 1387, 11:30 صبح
سلام



SELECT RAND()


این چیکار میکنه ؟

sama01
پنج شنبه 16 آبان 1387, 12:15 عصر
همان کاری را که شما خواستید. یعنی به صورت تصادفی یک رکورد را انتخاب می‌کند.

farshad_persia
پنج شنبه 16 آبان 1387, 13:00 عصر
میشه syntax کاملSELECT RAND رو بنویسید تا آدم گیج نشه :چشمک:

shahriyar3
پنج شنبه 16 آبان 1387, 14:16 عصر
میشه syntax کاملSELECT RAND رو بنویسید تا آدم گیج نشه :چشمک:

$query = "SELECT * FROM tablename ORDER BY Rand() LIMIT 0,1";

amirepsilon
پنج شنبه 16 آبان 1387, 18:42 عصر
سلام
فکر نمیکنم خیلی راه خوبی باشه !

sama01
جمعه 17 آبان 1387, 00:02 صبح
این سایت (http://akinas.com/pages/en/blog/mysql_random_row/) را ببینید. چهار روش برای انتخاب یک رکورد تصادفی را ذکر کرده است و در نهایت روش سوم که در زیر می‌آید را به عنوان به‌ترین روش پیشنهاد کرده است:


$offset_result = mysql_query( " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM `table` ");
$offset_row = mysql_fetch_object( $offset_result );
$offset = $offset_row->offset;
$result = mysql_query( " SELECT * FROM `table` LIMIT $offset, 1 " );

yaqubian
یک شنبه 19 آبان 1387, 11:23 صبح
دوست عزیز
این رو هم یه نیگاه بندازین
http://msdn.microsoft.com/en-us/library/ms177610.aspx
موفق باشید

I,Nobody
سه شنبه 21 آبان 1387, 13:06 عصر
این سایت (http://akinas.com/pages/en/blog/mysql_random_row/) را ببینید. چهار روش برای انتخاب یک رکورد تصادفی را ذکر کرده است و در نهایت روش سوم که در زیر می‌آید را به عنوان به‌ترین روش پیشنهاد کرده است:


$offset_result = mysql_query( " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM `table` ");
$offset_row = mysql_fetch_object( $offset_result );
$offset = $offset_row->offset;
$result = mysql_query( " SELECT * FROM `table` LIMIT $offset, 1 " );

كاملاً مخالفم.
چرا وقتي ميشه با يك كوئري ساده، كار رو انجام داد، ما از دو تا كوئري استفاده كنيم.
به نظر من بهترين راه استفاده از همان تابع rand در يك كوئري هست(پاسخ شهريار).