А не легче было бы следующим образом:
$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"; 
}