Jump to content

Function not showing anything?


wwfc_barmy_army

Recommended Posts

I'm not sure where I'm going wrong, I followed this tutorial:

http://www.strangerstudios.com/sandbox/pagination/diggstyle.php

 

to do a pagination, and I've got the actual data showing fine, but I can't seem to get the pagination buttons to show (1,2,3,4 etc).

 

This is the function i'm using:

function getPaginationString($page = 1, $totalitems, $limit = 15, $adjacents = 1)
{		
//defaults
$pagestring = "?page=";
if(!$adjacents) $adjacents = 1;
if(!$limit) $limit = 15;
if(!$page) $page = 1;

//other vars
$prev = $page - 1;									//previous page is page - 1
$next = $page + 1;									//next page is page + 1
$lastpage = ceil($totalitems / $limit);				//lastpage is = total items / items per page, rounded up.
$lpm1 = $lastpage - 1;								//last page minus 1

/* 
	Now we apply our rules and draw the pagination object. 
	We're actually saving the code to a variable in case we want to draw it more than once.
*/
$pagination = "";
if($lastpage > 1)
{	
	$pagination .= "<div class=\"pagination\"";
	if($margin || $padding)
	{
		$pagination .= " style=\"";
		if($margin)
			$pagination .= "margin: $margin;";
		if($padding)
			$pagination .= "padding: $padding;";
		$pagination .= "\"";
	}
	$pagination .= ">";

	//previous button
	if ($page > 1) 
		$pagination .= "<a href=\"$pagestring$prev\">« prev</a>";
	else
		$pagination .= "<span class=\"disabled\">« prev</span>";	

	//pages	
	if ($lastpage < 7 + ($adjacents * 2))	//not enough pages to bother breaking it up
	{	
		for ($counter = 1; $counter <= $lastpage; $counter++)
		{
			if ($counter == $page)
				$pagination .= "<span class=\"current\">$counter</span>";
			else
				$pagination .= "<a href=\"" . $pagestring . $counter . "\">$counter</a>";					
		}
	}
	elseif($lastpage >= 7 + ($adjacents * 2))	//enough pages to hide some
	{
		//close to beginning; only hide later pages
		if($page < 1 + ($adjacents * 3))		
		{
			for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
			{
				if ($counter == $page)
					$pagination .= "<span class=\"current\">$counter</span>";
				else
					$pagination .= "<a href=\"" . $pagestring . $counter . "\">$counter</a>";					
			}
			$pagination .= "<span class=\"elipses\">...</span>";
			$pagination .= "<a href=\"" . $pagestring . $lpm1 . "\">$lpm1</a>";
			$pagination .= "<a href=\"" . $pagestring . $lastpage . "\">$lastpage</a>";		
		}
		//in middle; hide some front and some back
		elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
		{
			$pagination .= "<a href=\"" . $pagestring . "1\">1</a>";
			$pagination .= "<a href=\"" . $pagestring . "2\">2</a>";
			$pagination .= "<span class=\"elipses\">...</span>";
			for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
			{
				if ($counter == $page)
					$pagination .= "<span class=\"current\">$counter</span>";
				else
					$pagination .= "<a href=\"" . $pagestring . $counter . "\">$counter</a>";					
			}
			$pagination .= "...";
			$pagination .= "<a href=\"" . $pagestring . $lpm1 . "\">$lpm1</a>";
			$pagination .= "<a href=\"" . $pagestring . $lastpage . "\">$lastpage</a>";		
		}
		//close to end; only hide early pages
		else
		{
			$pagination .= "<a href=\"" . $pagestring . "1\">1</a>";
			$pagination .= "<a href=\"" . $pagestring . "2\">2</a>";
			$pagination .= "<span class=\"elipses\">...</span>";
			for ($counter = $lastpage - (1 + ($adjacents * 3)); $counter <= $lastpage; $counter++)
			{
				if ($counter == $page)
					$pagination .= "<span class=\"current\">$counter</span>";
				else
					$pagination .= "<a href=\"" . $pagestring . $counter . "\">$counter</a>";					
			}
		}
	}

	//next button
	if ($page < $counter - 1) 
		$pagination .= "<a href=\"" . $pagestring . $next . "\">next »</a>";
	else
		$pagination .= "<span class=\"disabled\">next »</span>";
	$pagination .= "</div>\n";
}

return $pagination;

}

 

and i'm using this to call and echo it:

 

$pag = getPaginationString($page, $total_pages, $limit, $adjacents);
echo $pag;

 

I've also tried echo instead of return in the function and just calling the function.

 

But nothing shows. Any ideas?

 

Thanks.

 

Link to comment
https://forums.phpfreaks.com/topic/194418-function-not-showing-anything/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.