All pastes #88630 Raw Edit

Stuff

public text v1 · immutable
·published 2006-07-15 05:38 UTC
rendered paste body
function paginate( $offset, $total_recs, $max_rec, $url)
{
	global $TPL;
	$total_pages = ceil( $total_recs / $max_rec );
	// build first page and prev link
	if( $offset > 1 )
	{
		$link_pages .= "<a href=\"$url&amp;offset=1\">&laquo;&nbsp;First&nbsp;</a>";
		$link_pages .= "<a href=\"$url&amp;offset=" . ( $offset - 1 ) . "\">&laquo;</a>";
	}
	else
	{
		$link_pages .= "&laquo;&nbsp;First&nbsp;";
		$link_pages .= "&laquo;";
	}
	if( $offset - 5 < 1  )
	{
		$link_page_start = 0;
		$link_page_end = ( 10 < $total_pages ) ? 10 : $total_pages ;
	}
	elseif( $offset + 5 > $total_pages )
	{
		$link_page_start = $total_pages - 10;
		$link_page_end = $total_pages;
	}
	else
	{
		$link_page_start = $offset - 5;
		$link_page_end = $offset + 5;
	}
	// build page links html
	for( $i = $link_page_start; $i < $link_page_end; $i++ )
	{	
		if( ($i + 1) == $offset )
		{
			$link_pages .= "&nbsp;" . ($i + 1) . "&nbsp;";
		}
		else
		{
			$link_pages .= "&nbsp;<a href=\"$url&amp;offset=" . ($i + 1) . "\">" . ($i + 1) . "</a>&nbsp;";
		}
	}
	
	// build last page and next link
	if( $offset < $total_pages )
	{
		$link_pages .= "<a href=\"$url&amp;offset=" . ( $offset + 1 ) . "\">&raquo;</a>";
		$link_pages .= "<a href=\"$url&amp;offset=$total_pages\">&nbsp;Last&nbsp;&raquo;</a>";
	}
	else
	{
		$link_pages .= "&raquo;&nbsp;";
		$link_pages .= "&nbsp;Last&nbsp;&raquo;&nbsp;";
	}
	$TPL->assign_var("PAGINATION", $link_pages);
}