PDA

View Full Version : انتخاب رکوردها بصورت تصادفی



fafa_na
چهارشنبه 18 بهمن 1391, 14:00 عصر
سلام
دوستان من میخوام بصورت تصادفی اطلاعات موجود در جدولمو نشون بدم.دستور زیر را نوشتم

$query = 'SELECT * FROM #__js_job_resume ORDER BY RANDOM()';
$db->setQuery($query, 0, $count);
$rows = $db->loadObjectList();

$i = 0;
$lists = array();

foreach ( $rows as $row ) {


ولی خطای زیر را میده



Warning: Invalid argument supplied for foreach() in line

یعنی رو خط foreach داره ایراد میگیره.

اصلا میشه بصورت تصادفی از جدول رکورد نشون داد؟؟؟؟ایراد کار من کجاست.ممنون

Dead Space
چهارشنبه 18 بهمن 1391, 14:35 عصر
تابع RANDOM نداریم دوست عزیز

$query = 'SELECT * FROM #__js_job_resume ORDER BY RAND()';

fafa_na
چهارشنبه 18 بهمن 1391, 14:45 عصر
عالی بود مرسی

Unique
پنج شنبه 19 بهمن 1391, 11:55 صبح
فقط این حواستون باشه که برای ججداول با تعداد رکورد بالا استفاده از RAND دیوونگیه و به شدت مشکل performance داره.

Reza1607
پنج شنبه 19 بهمن 1391, 12:27 عصر
فقط این حواستون باشه که برای ججداول با تعداد رکورد بالا استفاده از RAND دیوونگیه و به شدت مشکل performance داره.

اگه بخوايم تو جدول با ركورد هاي بالا ركورد رندوم انتخاب كنيم بايد چيكار كنيم

tehro0n
پنج شنبه 19 بهمن 1391, 15:02 عصر
اگه بخوايم تو جدول با ركورد هاي بالا ركورد رندوم انتخاب كنيم بايد چيكار كنيم
رندوم رو با تابع php انجام بده و در دیتابیس ات اون id رو سلکت کن

echo rand(5, 15);

Unique
پنج شنبه 19 بهمن 1391, 18:12 عصر
رندوم رو با تابع php انجام بده و در دیتابیس ات اون id رو سلکت کن
ممکنه وسط رکورد ها حذفی داشته باشیم و کار نکنه.

اینجا (http://akinas.com/pages/en/blog/mysql_random_row/) روش هایی را توضیح داده و کیفیت هر کدوم را هم نوشته.

Reza1607
شنبه 21 بهمن 1391, 09:05 صبح
ممکنه وسط رکورد ها حذفی داشته باشیم و کار نکنه.

اینجا (http://akinas.com/pages/en/blog/mysql_random_row/) روش هایی را توضیح داده و کیفیت هر کدوم را هم نوشته.

خيلي ممنون
ولي من نمي خوام يك ركورد رو برگردونه بلكه چند تا ركورد هستش
آيا اين راه حل هايي كه گفته بازم جواب مي ده