А не легче было бы следующим образом:
$limit=20; //сколько показать на странице
$Prev = "Предыдущая";
$Next = "Следующая";
$username="вася пупкин";
$password="что-угодно";
$host="localhost";
$tables="имя db";
$db = mysql_connect($host, $username,$password);
mysql_select_db("$tables",$db);
$numresults=mysql_query("SELECT * FROM ваша_таблица ORDER BY ваша_поле ASC");
$numrows=mysql_num_rows($numresults);
if (empty($offset)) {
$offset=0;
}
echo "<table width=100% bgcolor=#FFFFFF border=0 cellpadding=2 cellspacing=2>";
$sql = "SELECT * FROM ваша_таблица ORDER BY ваша_поле ASC limit $offset,$limit ";
$result = mysql_query($sql,$connection) or die("Could not execute query.");
while ($row = mysql_fetch_array($result)) {
echo "
<tr bgcolor=#CCCCCC><td><font color=#000000 size=1><b>$row[ваша_поле]</b></font></td></tr>
";
}
mysql_free_result($result);
echo "</table>";
$pages=intval($numrows/$limit);
if ($numrows%$limit) {
$pages++;
}
for ($i=1;$i<=$pages;$i++) {
$newoffset=$limit*($i-1);
print "<a href=\\"$PHP_SELF?offset=$newoffset\\">$i</a> \\n";
}
if ($offset>1) {
$prevoffset=$offset-$limit;
print "<a href=\\"$PHP_SELF?offset=$prevoffset\\">$Prev</a> \\n";
}
if ($numrows>($offset+$limit)) {
$nextoffset=$offset+$limit;
print "<a href=\\"$PHP_SELF?offset=$nextoffset\\">$Next</a><p>\\n";
}