Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2013, 21:11
Federic0
 
Fecha de Ingreso: diciembre-2007
Ubicación: Buenos Aires
Mensajes: 328
Antigüedad: 16 años, 5 meses
Puntos: 1
Exclamación Obtener registro anterior y siguiente ORDER BY rating

Buenas noches gente,
Necesito su ayuda por favor con la siguiente consulta :

Tengo una tabla con los siguientes datos, entre otros:
id
total_votes (cantidad total de votos)
total_value (cantidad total de puntos)

Muestro un listado de imágenes ordenado por rating

al acceder a cada imagen deben aparecer dos enlaces, uno a la siguiente foto y otro a la anterior, respetando el orden del listado.
Lo hago con las siguientes consultas:

Registro anterior:
Código MySQL:
Ver original
  1. SELECT id,ROUND(total_value/total_votes,4) AS rating FROM entry WHERE total_value/total_votes>=$rating_actual AND id!=$id AND mostrar=0 ORDER BY rating ASC, id ASC LIMIT 0,1

Registro siguiente:
Código MySQL:
Ver original
  1. SELECT id,ROUND(total_value/total_votes,4) AS rating FROM entry WHERE total_value/total_votes<=$rating_actual AND id!=$id AND mostrar=0 ORDER BY rating DESC, id DESC LIMIT 0,1

Las consultas me funcionan bien salvo cuando encuentra dos registros con el mismo "rating". Cuando apreto siguiente o anterior me va a la foto con el mismo puntaje, y lo mismo si estoy en la otra foto. Algo asi:

Código HTML:
id:1(rating = 4.00)
	foto anterior = id:2
	foto siguiente = id:2

------------------------------------

id:2 (rating = 4.00)
	foto anterior = id:1
	foto siguiente = id:1
Alguien sabe que puede ser o como podría solucionarlo? o si existe otra forma de hacer lo que necesito
Muchas gracias!!
Saludos.

Última edición por Federic0; 28/10/2013 a las 16:59