Zastanawiam się nad najlepszym rozwiązaniem dla poniższego problemu:
Robię galerię, gdzie na środku wyświetla się zdjęcie o id podanym, a po lewej stronie jest pasek na którym wyświetlają się zdjęcia z bazy (2 poprzednie, przed tym wyświetlanym jako główne i 2 następne po nim).
Czyli np.:
wyświetlam zdjęcie ID=1 a na pasku mam zdjęcia ID=2 ID=3
wyświetlam zdjęcie ID=2 a na pasku mam zdjęcia ID=1 | ID=3 ID=4
wyświetlam zdjęcie ID=3 a na pasku mam zdjęcia ID=1 ID=2 | ID=4 ID=5
Dwa następne zdjęcia pobieram zapytaniem:
SELECT * FROM `$tabela` WHERE ID>'$id' ORDER BY ID ASC LIMIT 2 ;
Ale jak pobrać dwa zdjęcia poprzednie?
Gdy pobieram:
SELECT * FROM `$tabela` WHERE ID<'$id' ORDER BY ID DESC LIMIT 2 ;
To pobiera dobre zdjęcia ale w odwrotnej kolejności, czyli dla wyświetlanego zdjęcia ID=3, pobiera 2, 1 | 4, 5;
a ja chciałbym 1, 2 | 3, 4.
Czyli jednym zdaniem jak posortować w zapytaniu te dwa wybrane zdjęcia w kolejności odwrotnej.
Mam nadzieję, że nie pogmatwałem tego za bardzo.