«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сохранить случайный порядок в разбиении на страницы MySQL без дубликатов или фиксированных результатов на первой странице?

Как сохранить случайный порядок в разбиении на страницы MySQL без дубликатов или фиксированных результатов на первой странице?

Опубликовано 7 ноября 2024 г.
Просматривать:653

How to Maintain Random Ordering in MySQL Pagination without Duplicates or Fixed First Page Results?

Разбиение на страницы MySQL со случайным упорядочением

Поддержание случайного порядка в разбиении на страницы MySQL может создать проблемы при попытке предотвратить дублирование результатов и обеспечить различные наборы первая страница. Вот решения этих проблем:

1. Предотвращение дублирования результатов

Чтобы исключить ранее просмотренные результаты на последующих страницах, дополните свой SQL-запрос критерием исключения, основанным на ранее выбранных строках. Используйте массив PHP для хранения полученного контента и включите в запрос условия для исключения:

$excludeIDs = []; // Array to store excluded IDs

$query = "SELECT * FROM table ";
if(!empty($excludeIDs)) {
    $query .= "WHERE id NOT IN (" . implode(",", $excludeIDs) . ") ";
}
$query .= "ORDER BY RAND() LIMIT 0,10;";

2. Различные результаты на первой странице

Да, нумерацию страниц можно использовать со случайным упорядочиванием, вводя начальное значение в функцию RAND(). Изменяя начальное число (например, в зависимости от времени или IP-адреса пользователя), вы можете каждый раз получать разные наборы результатов.

3. Использование RAND(SEED)

Укажите начальное значение с помощью RAND(SEED), чтобы повлиять на случайный порядок. Установив постоянное целое число в качестве начального числа, вы можете управлять последовательностью результатов:

$seed = 521; // Example seed value

$query = "SELECT * FROM table ORDER BY RAND(" . $seed . ") LIMIT 0,10;";
Заявление о выпуске Эта статья перепечатана по адресу: 1729727088. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3