我有一个在线PHP系统,用户为他们的朋友投票不同的奖项,但是我发现在页面中间和底部的奖项获得较少的投票总体。我希望这是平均分配的,所以想出了随机排列的奖励列表,以使其每次载入页面时都有所不同。最有效的方式,以预设的随机顺序列表
然而,这似乎混淆了用户,因为他们保存或重新访问页面的一切动作,有没有一种方式,我可以随机地订购列表,但保存该用户的订单,这意味着每个用户的不同。
投票清单来自数据库,奖项名称已预先设定。
你知道一个办法吗?
最后我用:
//Shuffle & Organise
if(is_numeric($pg)) { $start = ($pg*15)-14; $end = $pg*15; $pg = (int) $pg; } else { $start = 1; $end = 15; $pg = (int) 1; }
if($end>count($vote_name)) { $end = count($vote_name); }
$vote_boxes = range($start,$end);
srand($user['id']);
shuffle($vote_boxes);
//Create the voting boxes + js
foreach($vote_boxes as $row) {
$content .= vote_form($row);
}
我使用了一个基于您发布的信息与上述MySQL解决方案相结合的解决方案。完成后我会在这里发布。 – 2009-11-10 17:56:16