Autor | Zpráva | ||
---|---|---|---|
Jardaklon Profil * |
#1 · Zasláno: 13. 3. 2012, 14:29:48
Hezký den,
patlám se s tím už celkem dlouhou dobu a stále nevím jak následující kód upravit, aby číslo stránky 1 odkazovalo na page=0. Čili snížit odkazování o jednu stránku. Budu rád za pomoc. <?php /** ---------- nastaveni ---------- */ $options = array( 'rows_total' => ''.$mess->CountCurrent().'', // celkovy pocet zaznamu 'offset' => $show, // po kolika budeme strankovat 'interval' => 10, // interval cisel nalevo a napravo od aktivniho = vybraneho cisla 'url' => '?str=diskusindex&?add=&', // adresa ke ktere se pripoji strankovani parametr ); echo pagingBlock($options); function pagingBlock($options = array()) { $html = ''; $pages_total = ceil($options['rows_total'] / $options['offset']); $interval = $options['interval']; $actual_page = empty($_GET["page"]) ? 1 : $_GET["page"]; $url = $options['url']; //"?url=1&"; /** ---------- fix proti URL hacku ---------- */ if ($actual_page < 0) $actual_page = 0; if ($actual_page > $pages_total) $actual_page = $pages_total; /** ---------- co budeme ukazovat, interval ---------- */ $show = array(); for ($i = $actual_page - $interval; $i <= $actual_page + $interval; $i++) { if ($i > 0 && $i <= $pages_total) $show[] = $i; } /** ---------- zacatek rady ---------- */ if ($actual_page - $interval == 2) { $html .= "<a href='".$url."page=0'>1</a> "; } if ($actual_page - $interval > 2) { $html .= "<a href='".$url."page=0'>1</a> ... "; } /** ---------- dynamicky stred ---------- */ for ($i = 0; $i <= $pages_total; $i++ ) { if (in_array($i, $show)) { if ($i == $actual_page) { $html .= " <strong>$i</strong> "; } else { $html .= "<a href='".$url."page=$i'>$i</a> "; } } } /** ---------- konec rady ---------- */ if ($actual_page + $interval + 1 == $pages_total) { $html .= " <a href='".$url."page=".$pages_total."'>".$pages_total."</a>"; } if ($actual_page + $interval + 1 < $pages_total) { $html .= " ... <a href='".$url."page=".$pages_total."'>".$pages_total."</a>"; } /** ---------- vystup ---------- */ return $html; } ?> |
||
Klonojarda Profil * |
#2 · Zasláno: 13. 3. 2012, 15:43:00
Tady to máš, je to šílený, ale bude ti to fungovat.
Drogy užívej v dobré míře a naději!!! <?php /** ---------- nastaveni ---------- */ $options = array( 'rows_total' => ''.$mess->CountCurrent().'', // celkovy pocet zaznamu 'offset' => $show, // po kolika budeme strankovat 'interval' => 10, // interval cisel nalevo a napravo od aktivniho = vybraneho cisla 'url' => '?str=diskusindex&?add=&', // adresa ke ktere se pripoji strankovani parametr ); echo pagingBlock($options); /** * Strankovani s promenlivym stredem * * @param array $options pole slouzici k nastaveni hodnot ktere funkce vyzaduje viz priklad * @date 28-12-2009 * @author Roman Janko <admin@rjwebdesign.net> * **/ function pagingBlock($options = array()) { $html = ''; $pages_total = ceil($options['rows_total'] / $options['offset']); $interval = $options['interval']; $actual_page = empty($_GET["page"]) ? 1 : $_GET["page"]+1; $url = $options['url']; //"?url=1&"; /** ---------- fix proti URL hacku ---------- */ if ($actual_page < 0) $actual_page = 0; if ($actual_page > $pages_total) $actual_page = $pages_total; /** ---------- co budeme ukazovat, interval ---------- */ $show = array(); for ($i = $actual_page - $interval; $i <= $actual_page + $interval; $i++) { if ($i > 0 && $i <= $pages_total) $show[] = $i; } /** ---------- zacatek rady ---------- */ if ($actual_page - $interval == 2) { $html .= "<a href='".$url."page=0'>1</a> "; } if ($actual_page - $interval > 2) { $html .= "<a href='".$url."page=0'>1</a> ... "; } /** ---------- dynamicky stred ---------- */ for ($i = 1; $i <= $pages_total; $i++) { if (in_array($i, $show)) { if ($i == $actual_page) { $html .= " <strong>$i</strong> "; } else { $kaliber = $i-1; ///zkalibruje že stránka 1 má odkaz na page 0 $html .= "<a href='".$url."page=$kaliber'>$i</a> "; } } } /** ---------- konec rady ---------- */ if ($actual_page + $interval + 1 == $pages_total) { $kaliber2 = $pages_total-1; $html .= " <a href='".$url."page=".$kaliber2."'>".$pages_total."</a>"; } if ($actual_page + $interval + 1 < $pages_total) { $kaliber2 = $pages_total-1; $html .= " ... <a href='".$url."page=".$kaliber2."'>".$pages_total."</a>"; } /** ---------- vystup ---------- */ return $html; } ?> |
||
Časová prodleva: 12 let
|
0