我有 PHP 查询来显示来自 MYSQL 数据库的结果。我用Swiper jquery 插件在每个幻灯片页面上显示 9 个结果(有 3 张幻灯片)。然后,当有人转到下一页时,它会显示下一个 9。以下是我用来完成此操作的 PHP 查询。
$query_page_1 = mysqli_query( $connection, "SELECT * FROM tblclients WHERE tblclients.package = 'standard' ORDER BY RAND() LIMIT 0, 9");
$query_page_2 = mysqli_query( $connection, "SELECT * FROM tblclients WHERE tblclients.package = 'standard' ORDER BY RAND() LIMIT 9, 9");
$query_page_3 = mysqli_query( $connection, "SELECT * FROM tblclients WHERE tblclients.package = 'standard' ORDER BY RAND() LIMIT 18, 9");
我的问题是,当我使用 ORDER BY RAND() 随机化每个页面上的结果时,它会重复从第 1 页到第 2 页的一些相同结果。
最佳答案
要解决此问题,您需要在整个页面上提供通用种子。例如:
$query_page_1 = mysqli_query( $connection, "SELECT * FROM tblclients WHERE tblclients.package = 'standard' ORDER BY RAND(42) LIMIT 0, 9");
$query_page_2 = mysqli_query( $connection, "SELECT * FROM tblclients WHERE tblclients.package = 'standard' ORDER BY RAND(42) LIMIT 9, 9");
$query_page_3 = mysqli_query( $connection, "SELECT * FROM tblclients WHERE tblclients.package = 'standard' ORDER BY RAND(42) LIMIT 18, 9");
其中 42 是常见的随机种子。
关于javascript - 多张幻灯片的 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36123020/