![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
SQLite twierdzi, że ORDER BY powinien znaleźć się dopiero po słowie UNION. Nic nie daje użycie UNION ALL i wzięcie tych 2 zapytań w nawiasy. Czy pozostaje wysyłać 2 oddzielne zapytania? Może są inne metody na wyciągnięcie poprzedniego i kolejnego rekordu z bazy danych w 1 zapytaniu? Zapytanie musi działać w SQLite i MySQL. Poza tym można podpinać do ORDER BY? W SQLite nie ma błędu, ale i reakcji. Kod $x = $db->prepare('SELECT ID,name FROM obrazy WHERE ID<4 ORDER BY :test LIMIT 1'); Niezależnie od tego, czy podepnę ID DESC, czy ID, otrzymuję ten sam rekord, choć powinien pojawić się inny.$x->bindValue(':test','ID DESC'); $x->execute(); Właściwie zależy mi na pobraniu: - poprzedniego obrazu, a gdy nie ma - ostatniego - następnego obrazu, a gdy nie ma - pierwszego Wysyłając nawet 2 osobne zapytania dla "poprzedni" i "następny", jaki warunek postawić, aby pobrać ostatni rekord, gdy nie znajdzie poprzedniego - tak jak napisałem powyżej? -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Pobrać 3 od ID - 1
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2024 - 02:19 |