正在寻找一种解决方案,以在单击下一页按钮时在数据库中保持用户表的随机顺序。
实际上,我有一个包含 1000 个用户的数据库,并且我想在每个页面(在成员列表中)显示 10 个用户,我的查询如下所示:
$sql = "SELECT * FROM users ORDER BY user_id LIMIT 1,10";
现在我想 ORDER BY RAND() 并且它可以工作,当然除了单击下一页时,它会再次随机播放,有时会再次出现相同的用户。
所以我的问题是关于保持我在第一页和下一页上的随机顺序的解决方案。
当有人第一次访问成员列表时,我考虑设置一个 $_SESSION 变量,其中包含从 1 到 1000 的随机数字,然后按 $_SESSION 变量中的位置对成员进行排序,其中数字等于 user_id。
不知道这怎么可能,但我实际上想象了一个解决方案,例如:
$numbers = range(1, 1000);
$shuffled_numbers = shuffle($numbers);
$sort = $_SESSION['random_user_sort'] = $shuffled_numbers;
因此,当单击第二页(下一页)时,我将有一个 mysql 查询,如下所示:
$sql = "SELECT * FROM users ORDER BY $sort LIMIT 11,20";
任何解决方案让它以这种方式工作,甚至更好的想法?