Mostrar registros aleatorios
En tiendas virtuales es muy utilizado poner en página principal algún bloque de productos destacados o en oferta. Si tenemos muchos de estos productos y solo queremos mostrar un número considerable para no sobrecargar la página es un efecto interesante poder mostrar dichos productos de forma aleatoria.
Existe una sentencia SQL que nos permite realizar consultas aleatorias. Es sencilla de utilizar y muy útil.
Por ejemplo podríamos hacer lo siguiente:
SELECT nombre, precio FROM productos ORDER BY RAND() LIMIT 0,10
Esta sentencia SQL recuperaría de nuestra base de datos el nombre y el precio de los 10 últimos productos de la tabla productos obtenidos de forma aleatoria.
Autor
Escrito por Jose Aguilar - Director ejecutivo y tecnológico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.
buenos días José; mi nombre es Alexis Salomon, pero quiero saber como hago para poder seleccionar un registro aleatorio en una tabla pero basado en un tiempo de terminado, es decir poder colocar un tiempo de localización de registro en 30 segundos y luego de que pase los 30 segundos pues elija un registro. Todo esto desde que le de clic a un botón llamado búsqueda..
Hola buenas tardes,
Existen varias soluciones para satisfacer tu requerimiento. Una de ellas es jugar con la función date() de php para controlar los segundos para elegir otro registro. Quizá otra opción es hacer una query con RAND()
Saludos
Estimado y como hago en este caso: Tengo 300 oficinas (CodOf) y cada una de estas tiene 100 contratos (NroContrato) y deseo aleatoriamente seleccionar 3 contratos de cada oficina. Cual sería la estructura del query..Gracias
Hola buenos días,
En tu caso te interesa fijarte en la parte final de la query del ejemplo:
BY RAND() LIMIT 0,10
Lo debes añadir al final de tu query pero para 3 contratos:
BY RAND() LIMIT 0,3
Saludos
Only a smiling visitor here to share the love (:, btw great layout.