En una consulta puede quedar como el siguiente, este código lo encontré en otro foro pero lo probé con unos registros que tengo y me funcionó muy bien
Código SQL:
Ver originalSELECT
*
FROM
TABLE
WHERE
id = (SELECT MIN(id) FROM TABLE WHERE id > 1556)
OR id = (SELECT MAX(id) FROM TABLE WHERE id < 1556)
[URL="http://stackoverflow.com/questions/1084390/how-to-find-the-previous-and-next-record-using-a-single-query-in-mysql"]http://stackoverflow.com/questions/1084390/how-to-find-the-previous-and-next-record-using-a-single-query-in-mysql[/URL]
El id lo pasas como $id para que sea dinámico
En
cakePHP puedes usar un find neighbors
Código PHP:
Ver originalfunction some_function() {
$neighbors = $this->Article->find('neighbors', array('field' => 'id', 'value' => 3)); }
[URL="http://book.cakephp.org/1.3/view/1018/find#find-neighbors-1024"]http://book.cakephp.org/1.3/view/1018/find#find-neighbors-1024[/URL]
Saludos