Edit

Template Coding PHP Pagination Logic

<?php

$items = array(
    0 => array( "item 1", "2013-09-13", "1" ),
    1 => array( "item 2", "2013-09-14", "2" ),
    2 => array( "item 3", "2013-09-15", "3" ),
);


######## CALCULATIONS #########

# set per-page var
if (isset($_GET["perpage"])) $perpage = $_GET["perpage"];
else $perpage = 10;

# calc numb of pages
$pages = ceil(count($items) / $perpage);

# which page are we on?
if( isset($_GET["page"]) && round($_GET["page"]) <= $pages && round($_GET["page"]) > 0 )
	$page = round($_GET["page"]);
else $page = 1;

# calc start and end item
$startItem = (($page - 1) * $perpage);
$endItem = $startItem + ($perpage - 1);
if( $endItem > $items ) $endItem = $endItem - ($endItem % $items);





######## PRINT ITEMS #########

echo( "<div>\n" );
echo( " <ul>\n");

for( $i=$startItem; $i<=$endItem; $i++ ){

	echo( "  <li>\n");
	echo( "   <a href=\"/node/".$items[$i][2]."\">\n");
	echo( "    <span class=\"title\">" . $items[$i][0] . "</span>\n" );
	echo( "   </a>\n" );
	echo( "  </li>\n" );
}

echo( " </ul>\n" );
echo( "</div>\n\n" );



# print page links as: URL/?page=##

echo("<ul class=\"pagination\">\n");

if( $page > 1 )
	echo(" <li>");
	echo("  <a href=\"?page=".($page-1)."&perpage=".$perpage."\" class=\"previous\">Previous</a>");
	echo(" </li>\n");

for ($i=1; $i<=$pages; $i++) {
	if ($i == $page) {
		echo(" <li>");
		echo("  <a href=\"?page=".$i."&perpage=".$perpage."\" class=\"active\">".$i."</a>");
		echo(" </li>\n");
	} else {
		echo(" <li>");
		echo("  <a href=\"?page=".$i."&perpage=".$perpage."\">".$i."</a>");
		echo(" </li>\n");
	}
}

if( $page < $pages )
	echo(" <li><a href=\"?page=".($page+1)."\" class=\"next\">Next</a></li>\n");

echo("</ul>\n\n");


?>