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;";
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