paginando resultados php

php_beginer
14 de Marzo del 2005
Tengo mi sistema de paginacion, pero quiero que solo saque 10 paginas por pagina, con 10 registros por pagina de la misma manera,
que se pagina en google. <<4,5,6,7,8, 9 ,10,11,12,13,14 >> suponiendo que estoy en ese caso en 9.
como tendria que modificar mi codigo? es el siguiente:

<?php
if (!isset($num)) {
$num = 0; }
if ($num > 0)
$n = $num;
else
$n = 0;
//pagino los resultados
$sql_paginacion = "SELECT COUNT(*) as num_registros FROM my_table;
$result_paginacion = mysql_query($sql_paginacion);
$num_registros = mysql_result($result_paginacion, 0, "num_registros");
$paginas_totales=ceil($num_registros/$reg_pagina);
$paginas_por_pagina=10;
$sql = "SELECT * FROM my_table LIMIT " . $n . ", " . $reg_pagina;
$result=mysql_query($sql);

//aqui saco lo que qiero mostrar en la pagina

//escribo los enlaces de paginacion
echo "<table border="0" align="center" width="100%">";
echo "<tr>";
echo "<td align="center">";
echo "P&aacute;ginas: ";
$a = 0;
for ($i = 0; $i < $num_registros; $i = $i + $reg_pagina) {
$a = $a + 1; //incremento pagina
if ($n == $i) { //estoy en la misma, no coloco enlace
echo "<b>[" . $a . "]</b>&nbsp;";
}
else {
echo "<a href="pagina.php?num=" . $i ."&buscar=".$buscar. "&poblacion=".$poblacion."&sector=".$sector. "&empresa=".$empresa. "">[" . $a . "]</a>&nbsp;";
}
} // fin del for
echo "</td>";
echo "</tr>";
echo "</table>";

Les agradecieria que me ayudasen. muchas gracias, es importante y me he roto mucho la cabeza