breakforce
Registered
Искам да го направя по следния начин, ще съм ви много благодарен ако помогнете малко ...
В момента ми е така - от /първата страница/1 - 7 ... 50/последната страница/ когато цъкна на 7 ми се показва по следния начин снимка 2, а аз искам когато цъкна на 7 да ми се показва както на снимка 3
Снимка 1
Обратното
Снимка 2
Снимка 3
В момента ми е така - от /първата страница/1 - 7 ... 50/последната страница/ когато цъкна на 7 ми се показва по следния начин снимка 2, а аз искам когато цъкна на 7 да ми се показва както на снимка 3
Снимка 1
Обратното
Снимка 2
Снимка 3
Код:
$tbl_name="users";
$adjacents = 3;
$query = "SELECT COUNT(*) as num FROM $tbl_name";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages[num];
$targetpage = "users.php";
$limit = 15;
$page = $_GET['p'];
if($page)
$start = ($page - 1) * $limit;
else
$start = 0;
$sql = "SELECT * FROM $tbl_name ORDER by id DESC LIMIT $start, $limit";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {if ($page == 0) $page = 1;
$prev = $page - 1;
$next = $page + 1;
$lastpage = ceil($total_pages/$limit);
$lpm1 = $lastpage - 1;
$lastcounter = $lastpage -7;
$pagination = "";
if($lastpage > 1)
{
$pagination .= "<div class=\"navpage\">";
// предишния бутон
if ($page > 1)
$pagination.= "<a href=\"$targetpage?p=$prev\">«</a>";
//страници
if ($lastpage < 5 + ($adjacents * 2)) //не е достатъчно страници, за да се нагърби да го разпада
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"navcurrent\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?p=$counter\">$counter</a>";
}
}
elseif($lastpage > 5 + ($adjacents * 2)) //достатъчно страници, за да скриете някои
{
//достатъчно близо до началото, само крият по-късно страници
if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 2 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"navcurrent\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?p=$counter\">$counter</a>";
}
$pagination.= "<a href=\"$targetpage?p=$counter\" style='font-weight: bold; color: #666;'>...</a>";
$pagination.= "<a href=\"$targetpage?p=$lastpage\">$lastpage</a>";
}
//в средата; скриете някои отпред и някои обратно
elseif($lastpage - ($adjacents * 1) > $page && $page > ($adjacents * 1))
{
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"navcurrent\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?p=$counter\">$counter</a>";
} }
//близо до края, само скрий началото на страницата
else
{
$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
$pagination.= "<a href=\"$targetpage?p=$lastcounter\" style='font-weight: bold; color: #666;'>...</a>";
for ($counter = $lastpage - (0 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<span class=\"navcurrent\">$counter</span>";
else
$pagination.= "<a href=\"$targetpage?p=$counter\">$counter</a>";
}
}
}
//next button
if ($page < $counter - 1)
$pagination.= "<a href=\"$targetpage?p=$next\">»</a>";
$pagination.= "</div>\n";
}