Você pode usar subconsultas para obter o id dos anteriores e do próximo registro:
...
where media.id in (
'$id',
(select max(id) from media where id < '$id'),
(select min(id) from media where id > '$id')
)
...
...
where media.id in (
'$id',
(select max(id) from media where id < '$id'),
(select min(id) from media where id > '$id')
)
...