Hola edward18_1:
Para encontrar el id anterior podrías hacerlo así
Código:
select max(id) from tu_tabla where id < id_actual;
para encontrar el siguiente sería algo parecido, solo "invirtiendo" el sentido de las comparaciones:
Código:
Select min(id) from tu_tabla where id > id_actual;
Checa este script:
Código MySQL:
Ver original+------+
| id |
+------+
| 5 |
| 9 |
| 10 |
| 12 |
| 15 |
+------+
mysql> #para definir el id_actual
mysql
> SET @id_actual
= 10;
mysql> #para encontrar el id ANTERIOR
+---------+
+---------+
| 9 |
+---------+
mysql> #para encontrar el id SIGUIENTE
+---------+
+---------+
| 12 |
+---------+
Observa lo que sucede cuando el ID corresponde a alguno de los extremos de tu tabla;
Código MySQL:
Ver originalmysql
> SET @id_actual
= 5;Query OK, 0 rows affected (0.00 sec)
+---------+
+---------+
+---------+
mysql
> set @id_actual
= 15;Query OK, 0 rows affected (0.00 sec)
+---------+
+---------+
+---------+
El resultado de las consultas sería NULL al obtener el anterior del id inicial y el siguiente del id final.
Saludos
Leo.