Könnte wahrscheinlich einfach eine UNION verwenden und dann die zusätzlichen Ergebnisse im Verfahrenscode abschneiden, der die Ergebnisse anzeigt (da dies 20 Zeilen in den Nicht-Edge-Fällen zurückgibt):
(SELECT
*
FROM photos
WHERE ID < #current_id#
ORDER BY ID DESC LIMIT 10)
UNION
(SELECT *
FROM photos
WHERE ID >= #current_id#
ORDER BY ID ASC LIMIT 10)
ORDER BY ID ASC
BEARBEITEN:Limit auf 10 auf beiden Seiten der UNION erhöht, wie von le dorfier vorgeschlagen .
EDIT 2:Geändert, um die endgültige Implementierung besser widerzuspiegeln, wie von Dominic vorgeschlagen.