Pagination with PHP and MySQL

This is a quick tutorial on how to code basic pagination using a combination of PHP and MySQL. Pagination is basically splitting a list of content between multiple pages for easier navigation and less scrolling on a website. To start with you are going to need a few variables. $page_number = intval($_GET['p']) ? $_GET['p'] : 1; // Current page you are viewing
$page_limit = 10; // Items per page
$page_offset = ($page_number - 1) * $page_limit; // Where to start MySQL reading

Once you have the above variables you can then call the data from MySQL, like so: $result = mysql_query("SELECT * FROM table LIMIT {$page_offset},{$page_limit}");

Now to create the actual links (1 – 10): for ($i = 1; $i < 10; $i++) {
echo "<" . "a href="?p={$i}\">{$i}<" . "a/>";
if ($i != 10) echo " | ";
}

There you have it, extremely basic pagination.

* Note: I had to split the links up in the echo statement, as Blogger was converting these into actualy links, which is not what I want.