![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mam taki sobie skrypt wypisujący linki do kolejnych stron podobnie jak w phpbb który działa, ale wydaje mi się zbyt skomplikowany i chyba za dużo instrukcji if(). Czy da się to jakoś uprościć:?:
[php:1:1d8c2c3510]<?php $strony = 100; //ilość wpisów przez 15, przykładowo 100 $byl_page = false; if(!$page || $page<=0 || $page > $strony) { $page = 1; } $link = 'licz.php'; for($i=1; $i <= 3; $i++) { if($i == $page) { $i++; echo "<b>$page</b> "; $byl_page = true; if($page == 1 && $i <= $strony) { echo "<a href="$link?page=$i">$i</a> "; $i++; } if($i<=$strony) { echo "<a href="$link?page=$i">$i</a> "; $i++; break; } } if($i<=$strony) echo "<a href="$link?page=$i">$i</a> "; if($i >= $strony) return; } if($byl_page == false) { if($i <= ($strony - 3) && ($page - 1) > $i) { echo '<b>... </b>'; for($i = ($page-1); $i <= ($page+1); $i++) { $a = $i - 1; if($page==$strony && $i == ($page - 1)) echo "<a href="$link?page=$a">$a</a> "; if($i == $page) { $i++; echo "<b>$page</b> "; $byl_page = true; if($i<=$strony) { echo "<a href="$link?page=$i">$i</a> "; $i++; break; } } if($i<=$strony) echo "<a href="$link?page=$i">$i</a> "; if($i >= $strony) return; } } else { for($i; $i <= ($page + 1); $i++) { if($i == $page) { $i++; echo "<b>$page</b> "; $byl_page = true; if($i<=$strony) { echo "<a href="$link?page=$i">$i</a> "; $i++; break; } } if($i<=$strony) echo "<a href="$link?page=$i">$i</a> "; if($i >= $strony) return; } } } if($i <= ($strony - 3)) { echo '<b>... </b>'; for($i = ($strony-2); $i <= $strony; $i++) { $a = $i - 1; if($page==$strony && $i == ($page - 1)) echo "<a href="$link?page=$a">$a</a> "; if($i == $page) { $i++; echo "<b>$page</b> "; $byl_page = true; if($i<=$strony) { echo "<a href="$link?page=$i">$i</a> "; $i++; break; } } if($i<=$strony) echo "<a href="$link?page=$i">$i</a> "; if($i >= $strony) return; } } else { for($i; $i <= $strony; $i++) { if($i == $page) { $i++; echo "<b>$page</b> "; $byl_page = true; if($i<=$strony) { echo "<a href="$link?page=$i">$i</a> "; $i++; break; } } if($i<=$strony) echo "<a href="$link?page=$i">$i</a> "; if($i >= $strony) return; } } ?>[/php:1:1d8c2c3510] |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 13.01.2003 Skąd: 3rd ball of mud behind a big ball of burning gas Ostrzeżenie: (0%) ![]() ![]() |
Gotowe rozwiązania:
http://forum.php.pl/viewtopic.php?t=681&hi...highlight=limit http://forum.php.pl/viewtopic.php?t=814&hi...highlight=limit Pozdrawiam. -------------------- It's Time to Join the PLD Linux Generation!
<? while (!$success) { $try++; } ?> |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Sorry ale chyba nie czytałeś mojego kodu. On zadziała po podaniu ilości stron wszystkich i wyświeta kilka pierwszych, przed i po aktualnym linku i trzy ostatnie, został przetestowany i działa prawidłowo sprawdzałem wpisując różne ilości stron od 1 do 10 i dalej testując przez klikanie na kolejne linki.
Jak chcesz to skopiuj kod i uruchom a napewno zadziała. P.S. Nie uwzględniłem register_globals |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 11:43 |