![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
witam . mam oto taki skrypt stronicowania:
Ładnie wyswietla dane, ogranicza ilosc , ale juz nastepna strona jest nie aktywna , tzn sie nie da kliknac , i problem chyba tutaj jest:
Bo wyciagam nazwe , a mam w [0] liczbe , ale probowalem zamienic 0 za [nick_z_gry] ale to byloby bez sensu. Dziękuje za wszystkie porady. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
A gdzie wg. Ciebie sprawdzasz ilość rekordów w bazie?
-------------------- Google knows the answer...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
ym nigdzie
tutaj powinieniem sprawdzic? cos takiego?:
chociaz to troche sensu nie ma raczej Ten post edytował gigzorr 28.07.2010, 18:29:39 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zobacz sobie do pierwszego lepszego tutoriala o stronicowaniu. Musisz policzyć ile masz wszystkich rekordów (czyli wywal LIMIT). I nie COUNT(*) a COUNT(id).
-------------------- Google knows the answer...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mały sprzeciw: właśnie COUNT (*) a nie COUNT(`kolumna`), chyba że ma nicki bez id
-------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 5 Dołączył: 9.08.2008 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
tutaj masz błąd:
$result= mysql_query("SELECT nick_z_gry FROM `rejestracja` LIMIT ".(($page)*$ilestr).",".$ilestr.""); jeżeli będziesz miał 2 stronę to będzie zaczynało od 16. Jeżeli będziesz miał 3 stronę to od 24. A powinno odpowiednio 9 i 17. czyli powinien być + zamiast *. a jeszcze wcześniej usuń ten limit. bo to ma liczyc całą bazę. a nie 8 rekordów. $result = "SELECT nick_z_gry FROM `rejestracja` LIMIT 0,8"; ps: żeby podać wartość liczby. która określa rozpoczęcia czytania rekordów wykorzystaj wzór: $od=($nrstrony* $limit) - $limit ; Ten post edytował tomekpl 28.07.2010, 20:36:14 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Tomekpl.. Nie wprowadzaj go w błąd
![]() $ile_na_stronie*$strona czy może $ile_na_stronie*($strona-1) To jest identyczna forma jaką w PS podałeś tylko zapisana ciut inaczej matematycznie (rozdzielność mnożenia względem odejmowania - poziom 2 lub 3 klasy podstawówki, a przynajmniej ja wtedy to miałem). Co do count to są 2 rozwiązania. Albo leci2 identyczne zapytanie jak to wyciągające wiersze, ale robi count(jedna_z_kolumn) albo robi to z użyciem dodatkowego SQL_CALC_FOUND_ROWS w zapytaniu. Poczytaj o tym drugim, bo są sprzeczne opinie na temat jego działania. Niektórzy twierdzą jakoby to drugie nie używało indeksów, przez co działa kilkudziesięciokrotnie wolniej. Z mojego doświadczenia i używania explain wynika, że osoby te się mylą i indeksy są używane, a więc różnica jest niezauważalna. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
przez + * nie rozwala sie strona , jak np. jest to zapytanie :
to strona sie trzyma , a jak jest np. select count(*) id from rejestrac albo as etc to sie sypie , tzn jak jest tak to sie sypie , ale widac guzik kolejnej strony. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Popatrz na to co napisałem... count (nazwa_kolumny)... nie count(*) nazwa_kolumny :/ zrób
SELECT count(id) AS ile FROM tabela a powinno zadziergać jak ta lala. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:04 |