"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo mantener un orden aleatorio en la paginación MySQL sin duplicados ni resultados fijos en la primera página?

¿Cómo mantener un orden aleatorio en la paginación MySQL sin duplicados ni resultados fijos en la primera página?

Publicado el 2024-11-07
Navegar:132

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

Paginación PHP MySQL con orden aleatorio

Mantener un orden aleatorio en la paginación MySQL puede plantear desafíos cuando se busca evitar resultados duplicados y garantizar conjuntos variables en la primera página. Aquí hay soluciones a estas inquietudes:

1. Prevención de resultados duplicados

Para excluir resultados vistos anteriormente en páginas posteriores, aumente su consulta SQL con un criterio de exclusión basado en filas obtenidas anteriormente. Utilice una matriz PHP para almacenar el contenido obtenido e incorpore condiciones en la consulta de exclusión:

$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. Variación de resultados en la primera página

Sí, la paginación se puede utilizar con orden aleatorio introduciendo un valor inicial en la función RAND(). Al variar la semilla (por ejemplo, según la hora o la dirección IP del usuario), puede obtener diferentes conjuntos de resultados cada vez.

3. Usando RAND(SEED)

Especifique un valor inicial usando RAND(SEED) para influir en el orden aleatorio. Al establecer un número entero constante como semilla, puede controlar la secuencia de resultados:

$seed = 521; // Example seed value

$query = "SELECT * FROM table ORDER BY RAND(" . $seed . ") LIMIT 0,10;";
Declaración de liberación Este artículo se reimprime en: 1729727088 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3