Hola, tengo una consulta, deseo obtener de una tabla, 6 registros de una DB de manera aleatoria, cada registro esta asociado a una imagen.
Alguna idea?? Gracias
| ||||
si quieres obtener registros aleatorios puedes usar la funcion rand(). por ejemplo:
Código:
te devolvera 6 registros tomados al azar de la tabla. select * from tabla order by rand() limit 6
__________________ Si ocurre algo importante, estamos afuera fumándonos unos cigarritos. |
| ||||
Cita: hola, bueno, hace tiempo postie (o postee no se como se diga jeje) un mensaje en el que tenia una duda de como seleccionar los primeros "n" resultados de una consulta, aqui esta el post: http://www.forosdelweb.com/f86/seleccionar-primeros-n-registros-consulta-379041/
Iniciado por haron si quieres obtener registros aleatorios puedes usar la funcion rand(). por ejemplo:
Código:
te devolvera 6 registros tomados al azar de la tabla.select * from tabla order by rand() limit 6 y bueno, no recibi ni una respuesta ![]() ![]()
__________________ El que tiene voluntad de aprender, encontrará siempre un maestro... Proverbio Aleman |
| ||||
si, claro que te puede servir. para los 25 primeros resultados
Código:
para los 25 siguientesselect id, nombre from mi_tabla order by id limit 0, 25
Código:
etc... etc... el primer parametro del limit indica la posicion desde la que empieza a mostrar los registros y el segundo parametro el numero de registros que debe traer. select id, nombre from mi_tabla order by id limit 25, 50
__________________ Si ocurre algo importante, estamos afuera fumándonos unos cigarritos. |
| ||||
Gracias ![]() Bueno, resulta que dichos formatos se componen de dos hojas, en la principal van los primeros 50 registros, 25 a la izquierda y 25 a la derecha (para eso era lo de los primeros 25 y los siguientes 25), las siguentes hojas, van de 50 en 50 hasta que se terminan. Bueno, hasta ahi todo bien, y me sirvio mucho tu respuesta, ahora, resulta que hay 2 tipos diferentes de formatos, lo unico que varia es el orden o la forma en la que estan acomodados los registros en la primer pagina, de la siguiente manera: Un formato viene asi: 1 ---------- 25 2 ---------- 26 3 ---------- 27 . . . . . . 24 ---------- 50 Mientras que el otro viene asi: 1 ---------- 2 3 ---------- 4 5 ---------- 6 ...... 50 Entonces aqui es donde surge mi nueva duda ![]() Sera posible tomar los registros de 1 si y 1 no?, me refiero a hacer dos consultas en la que la primera arroje los registros 1,3,5,7... y la segunda los registros 2,4,6,8...??? Bueno, se que suena medio raro, pero es lo que necesito hacer, me gustaria saber si existe alguna forma de hacerlo directamente en la consulta SQL o si lo tendre que hacer a pie, o sea, programarlo yo en mi aplicacion. Bueno, espero que no te haya aburrido con tanto choro y espero que me puedas ayudar. ![]() Saludos xD y gracias de antemano ![]()
__________________ El que tiene voluntad de aprender, encontrará siempre un maestro... Proverbio Aleman Última edición por sam; 25/03/2006 a las 00:07 |
| ||||
creo que lo mas razonable seria lanzar la consulta guardar los datos en un array y luego presentar esos datos como te piden. puedes lanzar la consulta usando el "limit 1, 50" y luego, con dos bucles "for" recorrer la primera vez los impares y luego los pares. seria algo asi:
Código:
en la variable "$row" hemos guardado previamente los registros devueltos por la consulta (mas o menos por ahi van los tiros) // script en PHP // muestra solo los pares for ($i = 0; $i < 50; $i = $i + 2) { echo $row[$i]; } // muestra solo los impares for ($i = 1; $i < 50; $i = $i + 2) { echo $row[$i]; }
__________________ Si ocurre algo importante, estamos afuera fumándonos unos cigarritos. |
| ||||
Pues gracias nuevamente, en realidad si tenia pensado hacerlo mas o menos asi, (solo que en c++), de todos modos muchas gracias, me sirvio mucho tu ayuda. xD
__________________ El que tiene voluntad de aprender, encontrará siempre un maestro... Proverbio Aleman |