Which database are you using? If its MySQL then make use of the LIMIT command
SELECT * FROM table1 WHERE blablabla LIMIT 0,10;
0 is the starting position (index from 0) 10 is the number of results you want returned.
This is, basically, what I do on my Transformers news page[url] (also on my main page if you didn't want to scroll as far).
Here's some modified snippits of what I 'basically', do
<?php
// Get page from the $_GET if it exists, otherwise set page a 1
if( ! $Page = @$_GET['Page'] ) {
$Page = 1;
}
// Build SQL query
$query = "SELECT * FROM table ORDER BY dateField DESC LIMIT ".$Page-1"., 10;";
// execute the query using your preferred database class. I use PEAR.DB
?>
then on the HTML side either have a select list that looks like this
<select name="Page" onChange='document.location="news.php?Page="+this.value';>
<option value="1">1</option>
<option value="2">2</option>
<option value="3" selected="selected">3</option>
<option value="4">4</option>
</select>
The SELECT list is built dynamically in my code, but the main part if the onChange event, which will submit the page to itself, passing the select "page number" form the select list in the URL which is then read by the page and used in the LIMIT clause.
There's no real 'standard way', most sites either use baisc HTML links which will be somethign like
<a href="news.php?page=<? echo $Page-1;?>">Previous</a>
<a href="news.php?page=<? echo $Page+1;?>">Next</a>
Or a form control that will either use a document.location or document.form.submit() javascript command.
But the main thing, is using the LIMIT clause in MySQL and just modifying the start value