![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 0 Dołączył: 13.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Pobieram z nieuporządkowanej bazy rekordy w sposób alfabetyczny:
Pobrany szablon zapisywany jest w bazie danych. Chciałbym teraz dodać kolejne zapytanie select, po odświeżeniu strony, które: - także pobierze z tej samej bazy rekord, który jest alfabetycznie wyższy (czyli kolejny po prostu ale także pobrany w sposób porządkujący alfabetycznie z nieuporządkowanej bazy). W jaki sposób to zrobić? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz sortować po wielu kolumnach.
Order by x ASC, y DESC. U ciebie nazwa i id zapewne. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 0 Dołączył: 13.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale jak miałoby to działać?
Bo dajmy, że mam takie rekordy Cytat id- nazwa 1- Ania 2- Robert 3- Kamil 4- Hubert brak np. 5 i 6 7- Julia Myślałem, żeby np. podczas pierwsze zapytania, pobrać aktualny rekord oraz rekord, który będzie następny w postaci np. samego id i w następnym zapytaniu pobrać to id i zapytanie będzie rozpoczynało się od tego id, ale także po w sposób alfabetyczny po nazwie (bo tam jest pętla) czyli np. zapytnaie pierwsze zwróciło mi: 1- Ania oraz 4- Hubert - id 4 idzie do bazy Zapytanie dwa w pętli: rozpoczyna się od id 4 - Hubert a następne rekordy to: 7- Julia 3- Kamil 2- Robert Tylko właśnie w jaki sposób pobrać w pierwszym zapytaniu następny po pobranym rekord (zakładając, że nie koniecznie będzie to drugi w bazie ogólnie, tylko np. pobrany jako pierwszy był rekord 7-Julia zatem następny będzie 3-Kamil i czy w ogóle to ma sens? |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Musisz znalezc sasiadow.
http://nospor.pl/mysql-faq.html#faq-4 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli posortujesz po imieniu i id to będziesz miał rekordy posortowane alfabetycznie ale pierwsze/ostatnie będą zawierały najnowsze id. Nie to chciałeś osiągnąć?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 0 Dołączył: 13.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
viking, ale to chyba zmieni mi także kolejność id, a nie tego właśnie oczekuje
Aktualnie jest tak: Tabela: id-nazwa 1-Ania 2-Robert 3-Hubert 4-Kamil 7-Julia i przy wykonaniu takiego kodu:
Wyrzuca mi: 1-Ania 3-Hubert 7-Julia 4-Kamil 2-Robert Chciałbym dodać do tego zapytania SQL warunek w którym podane będzie, że np. ma rozpocząć pętlę od następnej większej alfabetycznie nazwy, czyli np. Dodam warunek, że pobiera dane większe alfabetycznie od nazwy: Hubert zatem cała pętla zwróci mi taki wynik: 7-Julia 4-Kamil 2-Robert Jedyne co mi przychodzi do głowy to to, że po prostu dam warunek if w pętli, w którym dam, że zawartość pętli wykonuje się dopiero, gdy nazwa jest większa od podanej w warunku. Ale czy nie dałoby rady jakoś uniknąć obracania tej pętli w momentach, gdy warunek tego ifa nie byłby spełniony? Może jest możliwość zadeklarowania jakoś tego w WHERE w SELECT? Ten post edytował Warmix 14.09.2016, 14:24:48 |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Podalem ci rozwiazanie. Czemu ignorujesz moja odpowiedz?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 0 Dołączył: 13.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Oo już mam. Działa jak należy, dzięki (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:45 |