Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2013, 12:53
waspeis
 
Fecha de Ingreso: julio-2013
Mensajes: 44
Antigüedad: 10 años, 10 meses
Puntos: 0
Obtener registro anterior y siguiente mediante SQL

Buenas compañeros,

Tengo una tabla "peliculas" con los campos id_pel, nombre y fechaestreno. Necesito obtener el registro anterior y siguiente al registro que estoy visualizando y no puedo usar id_pel, ya que las películas se muestran ordenadas alfabéticamente. Os pongo un ejemplo:

id_pel: 1, nombre: Al límite
id_pel: 2, nombre: Contraband
id_pel: 3, nombre: La red social
id_pel: 4, nombre: El lado bueno de las cosas

Si hago la siguiente consulta "SELECT * FROM peliculas ORDER BY nombre" obtengo el resultado que quiero:
- Al límite
- Contraband
- El lado bueno de las cosas
- La red social

Si estoy visualizando los datos de la película "Contraband" (id_pel: 2) y tengo un enlace para que me cargue el siguiente registro, debería saltar a la siguiente que es "El lado bueno de las cosas" (id_pel: 4)

He pensado hacerlo de la siguiente manera:
- "SELECT * FROM peliculas ORDER BY NOMBRE LIMIT 0, 1" (Así obtengo el registro anterior)
- "SELECT * FROM peliculas ORDER BY NOMBRE LIMIT 2, 1" (Así obtengo el registro siguiente)

El problema es que necesito saber la posición que ocupa en la tabla "películas" el registro que estoy visualizando, en este ejemplo "Contraband". Así, restándole uno a esa posición o sumándole uno podría mostrar el registro anterior o siguiente.

¿Cómo puedo obtener la posición?, ¿Se os ocurre otra forma?

Graciasss