Показване на първите 5 страници

cold_zero

Registered
Как може да се преработи този код, така че да показва страници от 1 до 5, а не всички на веднъж и когато отидеш на страница 3 примерно да не се показва страница 1, но да се покаже страница 6 примерно...Както е в търсачката на Дата.БГ

Код:
<?php
$user=""; //user на базата данни
$password=""; //pass на базата данни
$database=""; //име на базата данни
mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");





// определяме колко реда да ни показва. В случая 20 на страница.
$broinastranica = 20;

// от коя страница да почне да показва.Може да искаме да е от втора или от последна.
$pageNum = 1;

// ако има получени данни $_GET['page'] ще покаже страницата с номер $_GET['page'] if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$query = " SELECT id,zag,user FROM statia " .
" LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');

echo "<table border=1>";
// print-ваме посочените редове в таблица.
while($row = mysql_fetch_array($result))
{
echo '<tr><td>'.$row['id'].'</td><td>'.$row['user'].'</td><td>'.$row['zag'].'</td></tr>';
}

echo"</table>";


// проверяваме таблицата колко редове има
$query = "SELECT COUNT(zag) AS numrows FROM statia";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}
}



// създаване на ликовете [предишна] [следваща]
// както и линковете [първа] и [последна]


if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\"> [<<<<<] </a> ";

$parva = " <a href=\"$self?page=1\">[първа]</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}

if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\"> [>>>>>] </a> ";

$posledna = " <a href=\"$self?page=$maxPage\">[последна]</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}

// показваме
echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna;





?>
 

Горе