Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] 6 siguiente ids

Estas en el tema de 6 siguiente ids en el foro de Mysql en Foros del Web. Hola chicos! tengo una pregunta que haceros. Quiero hacer una consulta que me muestre los 10 siguientes resultados a mi id actual. Es decir Si ...
  #1 (permalink)  
Antiguo 27/04/2016, 11:37
 
Fecha de Ingreso: diciembre-2015
Mensajes: 64
Antigüedad: 8 años, 10 meses
Puntos: 0
6 siguiente ids

Hola chicos!
tengo una pregunta que haceros.

Quiero hacer una consulta que me muestre los 10 siguientes resultados a mi id actual.
Es decir

Si tengo la id 11, que la consulta me muestre los resultados de las ids 12,13,14,15,16,17,18,19,20,21

No se si sera posible

saludos gracias :)
  #2 (permalink)  
Antiguo 27/04/2016, 11:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: 6 siguiente ids

y un between no te sirve?

Código MySQL:
Ver original
  1. select * from tabla where id between 11 and 11+10
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 27/04/2016, 12:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: 6 siguiente ids

Hay mas de una forma de hacerlo
Código MySQL:
Ver original
  1. SELECT ...
  2. FROM tabla
  3. WHERE id > 11
  4. LIMIT 10;
Si estás paginando con LIMIT, y pides los registros de posicion 11 en adelante, sin importar sus IDs:
Código MySQL:
Ver original
  1. SELECT ....
  2. FROM tabla
  3. LIMIT 10, 10

Hay que ver como es el contexto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 27/04/2016, 13:54
 
Fecha de Ingreso: diciembre-2015
Mensajes: 64
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: 6 siguiente ids

perdon, seria al reves
si estoy en la id 11, me salgan los resultados con id menor, 10,9,8,7,6,5,4..

he pobrado asi:

Código SQL:
Ver original
  1. SELECT * FROM trabajos WHERE id < $id LIMIT 6

Pero no entiendo porque no funciona. Tam bien he probado a poner un numero fijo en vez de $id, pero con el simbolo < no funciona

saludos
  #5 (permalink)  
Antiguo 27/04/2016, 14:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: 6 siguiente ids

Bueno... cuando creas las queries programáticamente como lo haces, lo PRIMERO que tienes quew hacer es asegurarte que las variables que usas realmente contengan los datos que tu supones...

El 99% de las veces donde no se obtienen los datos esperados en este escenario el tema pasa porque las variables están vacías o no contienen lo que se supone que deben contener.

Verifica que realmente tengan datos (PHP es off topic aquí, te recomiendo acudir al foro respectivo para ese detalle).

Prueba directamente la query en phpMyadmin, que debes tenerlo y veamos. Si sigue fallando lo mas probable es que el campo esté mal definido, o bien que no existan valores menores al que indicas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 27/04/2016, 14:08
 
Fecha de Ingreso: diciembre-2015
Mensajes: 64
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: 6 siguiente ids

He verificado que la variable no estas vacia, pero de todos modos tambien lo he probado de la sigueinte manera.
Si mi ultima id es 39, poniendo la siguiente consulta me deberia mostrar los resultados de 38,37,36,35,34,33, no ?

sin embargo me muestra, los resultados con id 1,2,3,4,5,6

Código SQL:
Ver original
  1. SELECT * FROM trabajos WHERE id < 39 LIMIT 6
  #7 (permalink)  
Antiguo 27/04/2016, 15:14
 
Fecha de Ingreso: diciembre-2015
Mensajes: 64
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: 6 siguiente ids

Código SQL:
Ver original
  1. CREATE TABLE `trabajos` (
  2.  `id` INT(10) NOT NULL AUTO_INCREMENT,
  3.  `titulo_corto` VARCHAR(80) COLLATE utf8_unicode_ci NOT NULL,
  4.  `descripcion` text COLLATE utf8_unicode_ci NOT NULL,
  5.  `publicar` INT(1) NOT NULL,
  6.  `fecha` datetime NOT NULL,
  7.  PRIMARY KEY (`id`)
  8. ) ENGINE=MyISAM AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
  #8 (permalink)  
Antiguo 27/04/2016, 19:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: 6 siguiente ids

Cita:
Si mi ultima id es 39, poniendo la siguiente consulta me deberia mostrar los resultados de 38,37,36,35,34,33, no ?
No, no debería mostrarlos, porque esos valores son menores pero están dentro de otro LIMIT.

Código MySQL:
Ver original
  1. FROM trabajos
  2.  WHERE id < 39


O bien:

Código MySQL:
Ver original
  1. (SELECT *
  2. FROM trabajos
  3.  WHERE id < 39
  4. ORDER BY id DESC) t1

Con el LIMIT le estás pidiendo los seis primeros del total de IDs, no los 6 anteriores al ID indicado. No es lo mismo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 28/04/2016, 03:14
 
Fecha de Ingreso: diciembre-2015
Mensajes: 64
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: 6 siguiente ids

ahora si funciono :)
muchas gracias

Etiquetas: ids, siguiente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:01.