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

Seleccionar registro siguiente y anterior del registro X

Estas en el tema de Seleccionar registro siguiente y anterior del registro X en el foro de Mysql en Foros del Web. Necesito su ayuda sobre como seleccionar los registros "de los lados" de otro registro. Con un ejemplo se entiende mejor: Tengo los registros con los ...
  #1 (permalink)  
Antiguo 17/05/2009, 20:54
 
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 15 años, 10 meses
Puntos: 2
Seleccionar registro siguiente y anterior del registro X

Necesito su ayuda sobre como seleccionar los registros "de los lados" de otro registro. Con un ejemplo se entiende mejor:

Tengo los registros con los siguientes:

1
2
4
5
7
8
9
11
12
13
14
16

Y actualmente estoy mostrando (con PHP) el registro 7 y quiero poner un enlace de "Anterior" que lleve al registro 5 y otro de "Siguiente" que lleve al 8.

Si los id fueran numeros consecutivos no habria ningun problema, pero hay algunos registros que no son numeros consecutivos.

Espero haberme explicado.
  #2 (permalink)  
Antiguo 17/05/2009, 21:49
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Seleccionar registro siguiente y anterior del registro X

Una posible solución a tu problema, es ordenar los registros con la enumeración correspondiente a la cantidad de registros que presenta tu consulta.

Mira el penúltimo post de las faq's donde gnzsoloyo propone adicionar un campo para el conteo de registros.
http://www.forosdelweb.com/f86/faqs-mysql-489891/

Teniendolo así, podrías hacer referencia al registro totalmente anterior, sin importar si hay o no vacios en el campo.

un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/05/2009, 00:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Seleccionar registro siguiente y anterior del registro X

También puedes hacer esto:
Código sql:
Ver original
  1. SELECT (
  2.  
  3. SELECT id
  4. FROM tutabla
  5. WHERE id <7
  6. ORDER BY id DESC
  7. LIMIT 1
  8. ) AS anterior, (
  9.  
  10. SELECT id
  11. FROM tutabla
  12. WHERE id >7
  13. ORDER BY id ASC
  14. LIMIT 1
  15. ) AS posterior
  #4 (permalink)  
Antiguo 01/11/2009, 04:11
Avatar de Fierce  
Fecha de Ingreso: marzo-2008
Mensajes: 216
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Seleccionar registro siguiente y anterior del registro X

jajaja llevaba horas buscando esto no pense qe fuera tan facil, te ganastes tu carma jurena
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 15:49.