在PHP中创建一个具有随机值的Cookie->在MySQL查询中使用该随机值

时间:2019-01-20 12:01:37

标签: php mysql

我正在尝试建立一个在线商店作为项目,并且每个访问该网站的访客都会获得一个cookie,其中包含一个随机生成的“种子”作为值,如下所示:

setcookie('pagination_seed', rand(), time() + (18000)); //5 hours

然后,我将使用该值创建一个mysql查询以回显产品,并按cookie保存的“种子”进行排序。

SELECT
    SQL_CALC_FOUND_ROWS
    name,
    id
FROM
    products
ORDER BY 
    rand('$cookie_session_seed') 
LIMIT
 .........(php calculation to make the pagination work).........

问题在于rand()无法在Cookie会话中存储“一致随机”值。每次刷新页面都会为同一用户提供一个“新”随机值,因为默认情况下,访问者将进入产品页面,并且根据cookie会话的工作方式,只有重新加载页面后,该访问者才能开始工作。

每位访问者每x时间显示一次新鲜结果的正确方法是什么?

对于这个项目,所有访问者是否都获得相同的种子并不重要(如果他们获得相同的种子会更好),只要每隔X个小时就能看到新的和新鲜的结果即可。

请宽容,我试图了解cookie已有很长时间(我学过php,jquery,mysql和css3),但是cookie是我的噩梦,我只是无法解决这个问题。

也许我要实现的目标甚至没有通过cookie来完成。应该怎么做?

0 个答案:

没有答案