per l'ID successivo e precedente per la foto
corrente puoi fare così
SELECT COALESCE((SELECT id FROM `foto` WHERE id<'$this->id' ORDER BY DESC id LIMIT 1),
(SELECT MAX(id) FROM `foto`)) AS `prev`,
COALESCE((SELECT id FROM `foto` WHERE id>'$this->id' ORDER BY id LIMIT 1 ),
(SELECT MIN(id) FROM `foto`)) AS `next`
Spero che funzioni bene per le tue esigenze