【发布时间】:2013-01-13 12:27:49
【问题描述】:
我需要按 rand 下订单,但我不希望它在每次刷新时都发生变化,我只需要一个随机数,这有意义吗?
这是我的代码:
function findSimilarByTag($gid,$limit=5) {
$gid=$this->quotesmart($gid);
$limit=$this->quotesmart($limit); //yes, this is senseless
$db =& JFactory::getDBO();
$query ="SELECT count( a.cid ) , a.gid, b.* \r\n";
$query.="FROM `#__yfl_game2cat` a \r\n";
$query.="JOIN #__yfl_game b ON a.gid = b.id
WHERE a.cid
IN (
SELECT cid
FROM #__yfl_game2cat
WHERE gid = '$gid'
)
AND a.gid != '$gid'
GROUP BY a.gid
ORDER BY rand()
LIMIT ".$limit;
$db->setQuery($query);
$games=$db->loadObjectList();
if($db->getErrorMsg()) $games=$db->getErrorMsg();
return $games;
【问题讨论】:
-
什么是随机的?
-
他想重新组织结果,但以某种方式存储这个重新组织而不是在每个视图上随机化
-
如果您只需要 一个随机数,那么您的限制必须始终为一个...除非查询仅返回一条记录...默认情况下...:$
-
听起来你可以使用缓存(例如基于文件或内存的缓存)。
-
这是每个用户还是您希望所有用户看到相同的“一次随机”顺序?
标签: php mysql random sql-order-by