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]