View previous topic :: View next topic |
Author |
Message |
darko
Joined: 03 Oct 2006 Posts: 20
|
Posted: 04.10.2006 09:43 Post subject: php pagination |
|
|
Prije svega lijep pozdrav svima! Ja sam Darko i evo po prvi sam puta danas ovdje. Jedan prijatelj mi je preporučio ovaj forum i obzirom da se jako zanimam za web design i programiranje nadam se da ću ovdje dobiti puno korisnih savjeta
I odmah na početku imam jedno pitanje
Naime htio bih u jednom sustavu vijesti koji radim napraviti mogućnost odabira stranice sa vijestima ("paginaciju") obzirom da će ih biti puno, a htio bih da se prikazuje samo 10 po stranici. Našao sam dosta tutoriala na netu ali niti jedan ne radi kako bih htio. Naime htio bi prikaz identičan ovome: http://img84.imageshack.us/img84/9434/1uc4.jpg, znači da se između početne i završne skupine vijesti pojave "točkice", a da se brojevi koji se pojavljuju na kraju prve skupine i na početku druge mijenjaju ovisno o odabiru (nadam se da sam bio jasan oko ovog što me muči )
Ako netko možda zna za kakav dobar tutorial o ovome bio bih mu više nego zahvalan!
Hvala unaprijed!
Darko |
|
|
Back to top |
|
|
Tristan
Joined: 01 Aug 2006 Posts: 614 Location: Under the sky
|
Posted: 04.10.2006 14:06 Post subject: |
|
|
Ovako, ja to već imam u svojem sustavu pa da ti pomognem... Prvo reci u kojem juziku radiš... Da li radiš sa mySQL-om ili kako? Malo detaljnije opiši pa ti pomognem... |
_________________ Carpe diem... |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 04.10.2006 17:47 Post subject: |
|
|
Kad izvlačiš news iz baze, limitiraj se na samo njih deset (LIMIT 0,10) zadnjih (ORDER BY news_date DESC). Paginaciju ćeš kasnije postići da povećavaš OFFSET (koji je trenutno 0) na "LIMIT 1,10", "LIMIT 2,10" itd.
Code: | $page = (int) @$_GET['page'];
$offset = $page > 0 ? $page - 1 : 0;
$limit = 10;
$query = "SELECT * FROM $news_table ORDER BY some_date DESC LIMIT $offset,$limit";
$query_total = "SELECT COUNT(*) FROM $news_table";
|
U HTML-u da izgeneriraš paginaciju vizualno treba ti ukupan broj newsa (SELECT COUNT(*) FROM news). Taj ukupan broj podijeliš sa 10 (koliko ih želiš po stranici) i dobit ćeš broj stranica. FOR petljom outputaj linkove za pojedine stranice. Kad to imaš i kad sve radi, tek tada se poigraj sa "tri točkice" da ta lista linkova ne bude pregolema.
Code: |
$links = array();
for($i = 0; $i < $total_news/10; $i++)
$links[] = sprintf('<a href="./?page=%d">%d</a>', $i+1, $i+1);
echo implode(', ', $links); |
|
|
|
Back to top |
|
|
Tristan
Joined: 01 Aug 2006 Posts: 614 Location: Under the sky
|
Posted: 04.10.2006 18:43 Post subject: |
|
|
Za što ti služi ovaj implode??? |
_________________ Carpe diem... |
|
Back to top |
|
|
che.UP mi3.crew
Joined: 07 Sep 2003 Posts: 2320 Location: zagreb
|
Posted: 04.10.2006 18:49 Post subject: |
|
|
BlizZ wrote: | Za što ti služi ovaj implode??? |
bitno da php i c++ live forever... rtfm... |
_________________ UP | TypeTester | Accommodations App
Meni u Firefox-u ne radi AJAX |
|
Back to top |
|
|
Tristan
Joined: 01 Aug 2006 Posts: 614 Location: Under the sky
|
Posted: 04.10.2006 19:00 Post subject: |
|
|
che.UP wrote: | BlizZ wrote: | Za što ti služi ovaj implode??? |
bitno da php i c++ live forever... rtfm... |
Pa da... Ja ih želim što bolje naučit... Zapravo više PHP...
PHP manual... Trebo bih malo češće pogledat u njega... |
_________________ Carpe diem... |
|
Back to top |
|
|
unique
Joined: 29 Mar 2004 Posts: 655
|
Posted: 04.10.2006 19:22 Post subject: |
|
|
BlizZ wrote: | che.UP wrote: | BlizZ wrote: | Za što ti služi ovaj implode??? |
bitno da php i c++ live forever... rtfm... |
Pa da... Ja ih želim što bolje naučit... Zapravo više PHP... |
mozda ti je to losa ideja :P prvo bi trebao dobro skuzit oop i opcenito programiranje (dakle razumijet ga, za sto je potrebna određena doza "programerske" zrelosti koja dolazi kroz vrijeme, za sna i tako to) i onda malo skicnut na ruby ili python (ne navijam za neku utopiju al imam osjecaj da ti PHP i njegova rasprostranjenjost i prihvaćenost ne donose kruh za život, pa imaš tu slobodu i sreću da proucavas programiranje onako neobavezno). c++ je poprilicno zahtjevan jezik (ponekad nepotrebno no to je stvar povijesti) no kompajlira se i brz je, uostalom (tj. razlog zbog kojeg ga i spominjem a ne da samo kazem da se kompajlira :D) u njemu mozes napisati ekstenziju (modul, hm kako to nazivaju??) za ruby odnoso python, ako te brinu performanse u pojedinim problemima (što je zapravo normalno za intrp. jezike da su "spori")
molim veće stručnjake od mene da reagiraju na moju zbrku :) |
_________________ Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE! |
|
Back to top |
|
|
Tristan
Joined: 01 Aug 2006 Posts: 614 Location: Under the sky
|
Posted: 04.10.2006 19:31 Post subject: |
|
|
unique wrote: | BlizZ wrote: | che.UP wrote: | BlizZ wrote: | Za što ti služi ovaj implode??? |
bitno da php i c++ live forever... rtfm... |
Pa da... Ja ih želim što bolje naučit... Zapravo više PHP... |
mozda ti je to losa ideja prvo bi trebao dobro skuzit oop i opcenito programiranje (dakle razumijet ga, za sto je potrebna određena doza "programerske" zrelosti koja dolazi kroz vrijeme, za sna i tako to) i onda malo skicnut na ruby ili python (ne navijam za neku utopiju al imam osjecaj da ti PHP i njegova rasprostranjenjost i prihvaćenost ne donose kruh za život, pa imaš tu slobodu i sreću da proucavas programiranje onako neobavezno). c++ je poprilicno zahtjevan jezik (ponekad nepotrebno no to je stvar povijesti) no kompajlira se i brz je, uostalom (tj. razlog zbog kojeg ga i spominjem a ne da samo kazem da se kompajlira ) u njemu mozes napisati ekstenziju (modul, hm kako to nazivaju??) za ruby odnoso python, ako te brinu performanse u pojedinim problemima (što je zapravo normalno za intrp. jezike da su "spori")
molim veće stručnjake od mene da reagiraju na moju zbrku |
Thnx na savjetima... A i programiro sam ja već prije dosta... |
_________________ Carpe diem... |
|
Back to top |
|
|
maratz mi3.crew
Joined: 24 Nov 2003 Posts: 1207 Location: ZAG
|
Posted: 05.10.2006 13:48 Post subject: |
|
|
BlizZ wrote: | A i programiro sam ja već prije dosta... |
super : ))
al ovdje bi mogo više čitat, a manje pisat... i maknut ovaj potpis – ovak se dobije dojam da znaš što je implode. |
_________________ STOP HITTING YOURSELF! | NETIQUETTE | TYPETESTER | Hypertext rulez™ | CREATIVE NIGHTS | ACCOMMODATIONS |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 05.10.2006 14:20 Post subject: |
|
|
|
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
|