Bueno creo que ya he solucionado la primera cuestion que tenia... y el script completo que tengo puesto es el siguiente: 
   Código PHP:
    <?
function conectar() 
{ 
    $base_de_datos = "xxx";
    $db_usuario = "xxx"; 
    $db_password = "xxx"; 
   
    if (!($link = mysql_connect("localhost", $db_usuario, $db_password))) 
    { 
        echo "Error conectando a la base de datos."; 
        exit(); 
    } 
    if (!mysql_select_db($base_de_datos, $link)) 
    { 
        echo "Error seleccionando la base de datos."; 
        exit(); 
    } 
    return $link; 
} 
 
$db = conectar();
 
$registros = 3;
 
if (!$pagina) { 
    $inicio = 0; 
    $pagina = 1; 
} 
else { 
    $inicio = ($pagina - 1) * $registros; 
} 
 
 
?>
<?
    $resultados = mysql_query("SELECT * FROM productos WHERE visible = 1");
    $total_registros = mysql_num_rows($resultados); 
    $resultados = mysql_query("SELECT * FROM productos WHERE visible = 1 ORDER BY fecha DESC LIMIT $inicio, $registros");    
    $total_paginas = ceil($total_registros / $registros);                       
 
    if($total_registros) {
    
        while($producto=mysql_fetch_array($resultados)) {
            
            echo "<td nowrap='nowrap'>".$producto["referencia"]."</td>";
            echo "<td nowrap='nowrap'>".$producto["nombre"]."</td>";
            echo "<td nowrap='nowrap'>".$producto["precio"]."</td>";
            echo "<td nowrap='nowrap'>".$producto["precio"]."</td>";
            echo "<td nowrap='nowrap'><a href='productosv.php?id=".$producto["id"]."'>Ver</a><span class='textobold'>|</span><a href='productosm.php?id=".$producto["id"]."'>Modificar</a><span class='textobold'>|</span><a href='productos_actione.php?estado=off&id=".$producto["id"]."'>Papelera</a></td>";
        }
        
    } else {
        echo "<font color='darkgray'>(sin resultados)</font>";
    }
    
    mysql_free_result($resultados);                
    
    if($total_registros) {
        
        echo "<center>";
        
        if(($pagina - 1) > 0) {
            echo "<a href='productos.php?pagina=".($pagina-1)."'>< Anterior</a> ";
        }
        
        for ($i=1; $i<=$total_paginas; $i++){ 
            if ($pagina == $i) {
                echo "<b>".$pagina."</b> "; 
            } else {
                echo "<a href='productos.php?pagina=$i'>$i</a> "; 
            }    
        }
      
        if(($pagina + 1)<=$total_paginas) {
            echo " <a href='productos.php?pagina=".($pagina+1)."'>Siguiente ></a>";
        }
        
        echo "</center>";
        
    }
    ?>
 
<? mysql_close($db);?>    
  Pero me da el siguiente error: 
Código:
 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/gekuar/public_html/toni/admin/productos.php on line 82
(sin resultados)
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/gekuar/public_html/toni/admin/productos.php on line 101
   A que puede deberse?