function start_page($page, $num) // (Текущая страница, скока показывать)
{
return ($page-$num > 0) ? $page-$num : 0;
}
/*вторая функция аналогично*/
$page = $_GET['page'];
$start_page = start_page($page, 5);
$end_page = end_page($page, 5);
/*в цикле $i от $start_page до $end_page*/
1)Считаем количесво топиков и делим его на количесво топиков на одной странице
2) округляем значение в большую сторону.
3) далее в цикле for указываем с какой по какую выводить.
С какой = количесво топиков на одной странице*данная страница.
По какую = С какой + количесво топиков на одной странице
4) а страницы выводим в низу, крличество содержится в значении которое мы округлили
<?php
if($num_page != 1) {
?>
<div class="pages">
<?php
$url = "index1.php";
function start_page($page, $num) {
global $num_page;
if(((2 * $num) + 1) == $num_page || ((2 * $num) + 1) > $num_page) {
return $start_page = 1;
} else {
if(($page - $num) <= 0) {
$start_page = 1;
} else {
$start_page = $page - $num;
if(($page + $num) > $num_page) {
$start_page = $page - (((2 * $num) + 1) - $num);
}
}
return $start_page;
}
}
function end_page($page, $num) {
global $num_page;
if(((2 * $num) + 1) == $num_page || ((2 * $num) + 1) > $num_page) {
return $end_page = $num_page;
} else {
$end = (2 * $num) + 1;
if(($page - $num) <= 0) {
$end_page = $end;
} else {
$end_page = $page + $num;
if($end_page > $num_page) {
$end_page = $num_page;
}
}
return $end_page;
}
}
$start_page = start_page($page, 2);
$end_page = end_page($page, 2);
for($i = $start_page; $i <= $end_page; $i++) {
if($i == $page) {
?>
<?=$i;?>
<?php
} else {
?>
<a href="<?=$url."?page=".$i;?>"><?=$i;?></a>
<?php
}
}
}
?>
</div>
<?php
function start_page($page, $num) {
return (($page-$num) > 0) ? ($page-$num) : 0;
}
function end_page($page, $num, $numPages) {
return (($page+$num) < $numPages) ? ($page+$num) : $numPages;
}
/*Считаем всё, там количество страниц = $num_page и др*/
if($num_page > 1) {
?>
<div class="pages">
<?php
$url = "index1.php";
$start_page = start_page($page, 2);
$end_page = end_page($page, 2, $num_page);
for($i = $start_page; $i <= $end_page; $i++) {
if($i == $page) {
?>
<?=$i;?>
<?php
} else {
?>
<a href="<?=$url."?page=".$i;?>"><?=$i;?></a>
<?php
}
}
}
?>
</div>
<?php
if($rows == 0) {
?>
<p>В гостевой книге нет записей <b>:(</b></p>
<?php
}
?>
<?php
$link = connect_db();
$rows = mysql_query("SELECT COUNT(*) FROM guest_book;");
$rows = mysql_fetch_array($rows);
$rows = $rows['COUNT(*)'];
if($rows == 0) {
?>
<p>В гостевой книге нет записей <b>:(</b></p>
<?php
}
$page = $_GET['page'];
$num_page = ceil($rows / $posts);
if(!isset($page)) $page = 1;
if($page < 1) $page = 1;
if($page > $num_page) $page = $num_page;
$start = ($page-1) * $posts;
$result = mysql_query("SELECT * FROM guest_book ORDER BY id_num DESC LIMIT ".$start.", ".$posts.";");
if($result) {
while($row = mysql_fetch_array($result)) {
$name = $row['nick'];
$email = $row['e_mail'];
$text = $row['text'];
$date = $row['date'];
?>
<table cellpadding="4" cellspacing="0" align="center" id="table">
<tr class="info">
<td class="nick" align="left">Написал(а): <?=$name;?></a></td><td>E-mail: <?=$email;?></td><td class="date" align="right">Дата: <?=$date;?></td>
</tr>
<tr>
<td colspan="3"><?=$text;?></td>
</tr>
</table><p>
<?php
}
}
mysql_close($link);
if($num_page != 1) {
echo "<div class=\"pages\">";
$url = "index.php";
$num = 4;
function start_page($page, $num) {
if(($page-$num) > 0) $result = $page-$num;
else $result = 1;
return $result;
}
function end_page($page, $num, $num_page) {
if(($page+$num) > $num_page) $result = $num_page;
else $result = $page+$num;
return $result;
}
$start_page = start_page($page, $num);
$end_page = end_page($page, $num, $num_page);
if((($page-$num)-1) > 0) echo "<a href=\"$url?page=1\">1</a><b>...</b>";
if($page > 1) echo "<a href=\"$url?page=".($page-1)."\" title=\"Предыдущая страница\"><</a>";
for($i = $start_page; $i <= $end_page; $i++) {
if($i == $page) {
?>
<span style="color: #FF3300;"><?=$i;?></span>
<?php
} else {
?>
<a href="<?=$url."?page=".$i;?>"><?=$i;?></a>
<?php
}
}
if($page < $num_page) echo "<a href=\"$url?page=".($page+1)."\" title=\"Следующая старница\">></a>";
if(($page+$num) < $num_page) echo "<b>...</b><a href=\"$url?page=$num_page\">$num_page</a>";
}
?>