![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 22.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, robie przewijana liste zdjec z prawej do lewej i z lewej do prawej w petli... i uzyskalem ten efekt poprzez odczytanie z bazy wszystkich bioracych w tym udzal zdjec... ktore laduje do tablicy w js i podmieniam w odpowiednim porzadku wrtosci dov'ow... i wszystko pieknie ladnie smiga jednakze skrypt js obslugujacy ten cyrk w moim wykonaniu przechowuje tablice jak i kilka innych zmiennych globalnie... co wywoluje pewne obciazenia i chcialbym to zlikwidowac... przychodzi mi do glowy PHP no i db z porcjowanie danych w kolejnych zapytaniach mysql z czym pojawia sie probblem... wyglada to mnijwiecej tak odpytuje kolejno "...LIMIT 1,4", "...LIMIT 2,5", "...LIMIT 3,6", "...LIMIT 4,7" itd... co sie jakos tam sprawdza jednak bez petli... tzn jak rekordy sie koncza to w miejscach pustych w bardzo logiczny sposob pojawiaja sie puste wartosci mi jednak zalezaloby na tym aby te puste wartosci zastepowane byly wartosciami poczatkowymi tj
W bazie mam 9 rekordow a wyswietlacz obejmuje 4 pozycje zatem pierwsze zapytanie "next" bedze opatrzone wartoscia (...LIMIT 2,5) i smiga drugie zapytanie "next" bedze opatrzone wartoscia (...LIMIT 3,6) i smiga trzecie zapytanie "next" bedze opatrzone wartoscia (...LIMIT 4,7) i smiga czwarte zapytanie "next" bedze opatrzone wartoscia (...LIMIT 5,8) i smiga piate zapytanie "next" bedze opatrzone wartoscia (...LIMIT 6,9) i smiga szoste zapytanie "next" bedze opatrzone wartoscia (...LIMIT 7,10) i dupa zbita Co jest bardzo logiczne jednak moja swiadomosc podopowiada mi ze da sie uzyskac w jakis sposob taka petle i tam gdze juz nie ma wiecej rekordow da sie jakos zmusic db do wywalenia rekordow z poczatkowej puli tj tam gdze 10 ktrego nie ma wskoczy 1, tam gddze 11 i go nie ma wskoczy 2... itd az do maksymalnej liczby obslugiwanej przez procesor no a pozniej moze sie pierdyknac i mi to juz nie bedze przeszkadzalo ![]() Tzn ja juz to mam w js, ale tam jest leniwy interpreter i owszem moge ten cyrk odstawic w php gdze juz z kazdym wywolaniem bede odpytywal jak idiota baze danych o wszystkie rekordy z czego wybiore tylko 4 co tez nie jest jakos specjalnie wyrafinowanym rozwiazaniem. Szukam sprytnego zapytania sql z LIMIT x,y ktore sie zapetli jak zajdze taka potrzeba... Za pomoc i zainteresownia z gory dziekuje... Ten post edytował fernet 9.02.2010, 17:45:45 -------------------- Czy sprzedal sie juz czy dopiero ma? Oto pytanie, ktore stawiam wam. A czemu gdy byl, to nic tylko spal? Ze mna co lubie go gadac nic nie chcial. A czemu to gra, a tamtego nie. Chyba nas wszystkich nic nie szanuje. Jaki byl kiedy pil? Jaki byl kiedy gral? Czy to ten czlowiek sam czy moze rozni dwaj?
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A nie lepiej zrobić coś w stylu karuzeli po stronie klienta...?
Cytat tak odpytuje kolejno "...LIMIT 1,4", "...LIMIT 2,5", "...LIMIT 3,6", "...LIMIT 4,7" Chyba Ci się pomyliła składnia, bo LIMIT nie działa tak, jak tutaj piszesz. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 1 Dołączył: 22.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
no tak masz racje porabalo mi sie w to ma byc kolejno
LIMIT 1,4 LIMIT 2,4 itd... ale nie o to chodzi i mam juz karuzele po stronie klienta jednak chce z niej zrezygonowac bo korzysta ona ze zmiennych jak i tablicy zdeklarowanej globalnie... a ja nie chce miec takich pierdol globalnie nie chce tez miec zapytan bez limitow... Ten post edytował fernet 10.02.2010, 01:59:33 -------------------- Czy sprzedal sie juz czy dopiero ma? Oto pytanie, ktore stawiam wam. A czemu gdy byl, to nic tylko spal? Ze mna co lubie go gadac nic nie chcial. A czemu to gra, a tamtego nie. Chyba nas wszystkich nic nie szanuje. Jaki byl kiedy pil? Jaki byl kiedy gral? Czy to ten czlowiek sam czy moze rozni dwaj?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kombinowanie:
Zakładam, że ilość zdjęć nie zmienia Ci się z sekundy na sekundę. W takim wypadku możesz sobie za pierwszym razem pobrać ile masz wszystkich zdjęć (czy to przez COUNT() czy przez SQL_CALC_FOUND_ROWS) i zapisać na przykład w sesji. Przy kolejnych odwołaniach sprawdzasz, czy limit nie wykracza Ci poza ten zakres, a jeżeli tak to robisz unię dwóch selectów - jednego z końca zakresu, drugiego z początku... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
to co powyżej lub...
ale nie o to chodzi i mam już karuzele po stronie klienta jednak chce z niej zrezygonowac bo korzysta ona ze zmiennych jak i tablicy zdeklarowanej globalnie... a ja nie chce mieć takich pierdol globalnie... heh - jest na to sposób ;p - nie definiuj tego globalnie a prywatnie ^^ - poczytaj o zasięgu zmiennych w javascript (oraz deczko o programowaniu obiektowym - nad wyraz mocno w brew pozorom akurat js jest obiektowy ![]() ![]() ![]() Ten post edytował zegarek84 10.02.2010, 14:46:59 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:18 |