As you need conceptual help, here's the concept:
you're on the right track, but you're looking at it the wrong way.
You're not going through the same recordset n times, you're performing a query n times with varying parameters.
So you have displayed the first $limit number of rows? very good, you know how to use LIMIT then.
Build your query like so:
$offset = intval($_GET["offset"]);
$end = $offset + $limit;
$query = "SELECT ... FROM ... WHERE ... LIMIT $offset,$end";
(supposing your $limit is set to 10, the result is LIMIT 0,10 on the first go)
then for the next set of results, make a link that refers to the script itself, and pass a variable:
<a href="scriptname.php?offset=<?php echo $end;?>">
Now, after the first run that would link to scriptname.php?offset=10
which in turn would result in LIMIT 10,20 on the next run.