ďťż

[php] rozdzielanie na strony

       

Podstrony


telcocafe

Mam 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 ;) ?

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.