Странициране

breakforce

Registered
Искам да го направя по следния начин, ще съм ви много благодарен ако помогнете малко ...

В момента ми е така - от /първата страница/1 - 7 ... 50/последната страница/ когато цъкна на 7 ми се показва по следния начин снимка 2, а аз искам когато цъкна на 7 да ми се показва както на снимка 3

Снимка 1
pagesjs.jpg


Обратното
pages4.jpg


Снимка 2
pages2t.jpg


Снимка 3
pages3.jpg



Код:
    $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";
	}
 

Back
Горе