Случайная раздача / Random release

Started by vasek_099 on 2012-09-18 03:08 — 5 replies, 2485 views

#1
Используйте этот мод: Случайная раздача

Описание: Выводится любая раздача рандомом.
.php
$count = DB()->fetch_row("SELECT COUNT(topic_id) as count FROM ". BB_BT_TORRENTS ." WHERE tor_status = ". TOR_APPROVED ." LIMIT 1");
$limit = mt_rand(1, $count['count']) - 1;
$rel = DB()->fetch_row("SELECT topic_id FROM ". BB_BT_TORRENTS ." WHERE tor_status = ". TOR_APPROVED ." LIMIT $limit, 1");
$template->assign_vars(array(
'REL_RELEALIS' => $rel['topic_id'],
));
.tpl
<span class="normal">&nbsp;|&nbsp;</span>
  <a href="viewtopic.php?t={REL_RELEALIS}">Случайная раздача</a>
P.S. кто захочет может сделать на ajax'e
#2
"SELECT topic_id FROM ". BB_BT_TORRENTS ." WHERE tor_status = ". TOR_APPROVED ." ORDER BY RAND() LIMIT 1"
#3
vasek_099,
в оригинале же было так:
$count = DB()->fetch_row("SELECT COUNT(topic_id) as count FROM ". BB_BT_TORRENTS ." WHERE tor_status = ". TOR_APPROVED ." LIMIT 1");
if ($count['count'])
{
$limit = mt_rand(1, $count['count']) - 1;
$rel = DB()->fetch_row("SELECT topic_id FROM ". BB_BT_TORRENTS ." WHERE tor_status = ". TOR_APPROVED ." LIMIT $limit, 1");
redirect("viewtopic.php?t=". $rel['topic_id']);
}
else redirect("index.php");
но правда через torrent.php, не такли?
расскажите плиз людям о первоисточнике откуда эта парочка строк появилась
#4
"SELECT topic_id FROM ". BB_BT_TORRENTS ." WHERE tor_status = ". TOR_APPROVED ." ORDER BY RAND() LIMIT 1"
не факт что один запрос лучше двух, хотя оптимизировать нужно стараться всё
http://hudson.su/2010/09/16/mysql-optimizaciya-order-by-rand/
#5
fly_indiz, я не думаю что тут у большинства трекеры тысяники.
Согласен пробовать оптимизировать нужно всё.
#6
fly_indiz, вот где он его откопал http://talkengines.ru/index.php?/topic/370-full-случайная-раздача-random-release/ , там кстати много школоло, которые барыжат.