Si almacenases tus elementos como un array secuencial al lerlos de tu BD no tendrías problemas y podrías usar:
Si estás en tu puntero 1 .. la anterior es donde estas+1 y la posterior serà donde estas -1 (si es < 0 .. pues no hay posición anterior .. lo mismo si es > que el total count() .. de ese array ..)
Es decir ..
crear un array tipo al obtener tu consulta con tu bucle while() o el que uses típico:
Código PHP:
while($row=......)
$nav['objetos'][]=$row['campo'];
}
suponiendo que el indice que usas en $nav['objetos'][
15] será tu valor ...
El [] expresa "indice autonumérico" comienza en 0 y se incrementa en una unidad a cada llamada (pasada de tu bucle).
Un saludo,