This is a basic script to take an array and and generate a paginated list of items. This is quite an obscure example because a real world example would probably include lots more data.
I'd also like to say, if your working with databases then I would suggest using a database pagination script that uses limits etc to optimise the speed of the query etc. If your looking to paginate a small data set then this should be fine.
Pretty simple setup:
// Include the pagination class include 'pagination.class.php'; // some example data foreach (range(1, 100) as $value) { $products[] = array( 'Product' => 'Product '.$value, 'Price' => rand(100, 1000), ); } // If we have an array with items if (count($products)) { // Create the pagination object $pagination = new pagination($products, (isset($_GET['page']) ? $_GET['page'] : 1), 15); // Parse through the pagination class $productPages = $pagination->getResults(); // If we have items if (count($productPages) != 0) { // Create the page numbers echo $pageNumbers = '<div class="numbers">'.$pagination->getLinks().'</div>'; // Loop through all the items in the array foreach ($productPages as $productArray) { // Show the information about the item echo '<p><b>'.$productArray['Product'].'</b> £'.$productArray['Price'].'</p>'; } // print out the page numbers beneath the results echo $pageNumbers; } } There are two other configurations that currently exist:
If you would like to show "<< first" and "last >>" links to take you to the first and last page.
$pagination->setShowFirstAndLast(true); The default separator for the page numbers is an empty string, you can overwrite this to be anything you like.
$pagination->setMainSeperator(' | '); ``` It's pretty simple.