"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 중복이나 고정된 첫 페이지 결과 없이 MySQL 페이지 매김에서 무작위 순서를 유지하는 방법은 무엇입니까?

중복이나 고정된 첫 페이지 결과 없이 MySQL 페이지 매김에서 무작위 순서를 유지하는 방법은 무엇입니까?

2024-11-07에 게시됨
검색:635

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

임의 순서를 사용한 PHP 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