ďťż
Podstrony
|
telcocafeMam sobie system newsow i mam pytanie jak zrobic aby np po 3 newsach robila sie nastepna strona ze starymi newsami i tak w kolko ?Oto mój sposób na to :) ### © DJ ProG ^^ ################### $p_atp=3; // ilosc pozycji na kazdej ze stron $p_all = 100; // ilosc wszystkich. Aby pobrac dany z bazy nalezy wykonac zapytanie SELECT COUNT(kolumna) FROM tabela; if ($p_all>$p_atp) { $p_str = ceil($p_all/$p_atp); // ilosc stron $tmp = !empty($_GET['page']) ? $_GET['page'] : '' ; $p_thsPage = (is_numeric($tmp) && ($tmp<=$p_str) && ($tmp>=1))? $tmp : 1; // obecna strona. w/w linijki mozna uproscic, mnie sie nie chcialo ;p $p_pages = '<div style="text-align: center;">Strona: '; for ($i=1; $i<=$p_str; $i++) { if ($p_thsPage==$i) $p_pages .= "[<b>$i</b>] "; else $p_pages .= '[<a href="plik.php?page='.$i.'">'.$i.'</a>]'; } $p_pages .= '</div>'; unset($tmp); } else { $p_thsPage = 1; $p_pages = ''; } $p_limit = (string)(($p_thsPage-1)*$p_atp).','.$p_atp; // a teraz pobierz wartosci, z komenda LIMIT i w/w zmienna, np. // SELECT * FROM tabela ORDER BY id DESC LIMIT $p_limit // Linki do stron znajduja sie w zmiennej $p_pages (o ile owe sa). Użytkownik DJ_ProG edytował ten post 19 grudzień 2007, 13:30 .. o fuuu @zarcel: najprościej to wklep w google pagination php :) o fuuu Czemu :( Orłem nie jestem, a każda dobra informacja by się przydała ;) A jak rzuciłem oko na sposób z phpfreaks.com to i owszem, kod może wydajniejszy - i nie tylko o mniejszą ilość zapytań - ale mój jest taki "własny" (i lepiej filtruje dane z parametru :P) ;) Poza tym, jeśli np. jade na funkcjach które odczytują dane z bazy i nie używają pełnych zapytań (np. $wynik = database_get('*','tbl'); dla polecenia select * from pre_tb; ) to w takim wypadku nie mam zbyt wielkiej możliwości obsługi ukazanej metody... Poza tym, nie każdy kto zaczyna musi pisać pro-elo-super-optymalne i wydajne skrypty :P A każda (rozsądna) metoda jest dobra na osiągnięcie założenia ;) Użytkownik DJ_ProG edytował ten post 20 grudzień 2007, 23:46 fuuu dlatego ze ten kod nie wyglada :) formatowanie to 'najwazniejsza' sprawa w pisaniu :) a po 2 OOP :) Nie rozumiem... Jak to "nie wygląda" :) ? A co do OOP to... a. nie znam osoby która na starcie kodzi w obiektowym ;) Najpierw trzeba dobrze poznać typowe funkcje, składnie itp. a dopiero później pomyśleć nad wydajnością (i ułatwieniem roboty :P) - bo przecież tym jest OOP. b. a może to jest stara maszyna ze starym pehapem ;) ? |
|||
Sitedesign by AltusUmbrae. |