Bueno he solucionado eso y otro problema que tenía que era que me mostraba un resultado más del que yo le ponía. Para lo de las caritas le he quitado unas líneas al código y para los resultados mostrados he puesto en 1 la parte
$i = 1; (antes estaba a cero)
Así me queda el código ahora:
Código PHP:
<?php
// Edita lo que viene a continuación. Cambia solo lo que hay entre comillas "":
$directorio = "/foro"; //Carpeta donde esta situado el foro.
$mostrar = "10"; //Número de mensajes a mostrar.
$caracteres = "50"; //Caracteres que se mostrarán de cada línea.
$dbhost = '...'; //nombre de host (suele ser 'localhost')
$dbname = '...'; //nombre de la base de datos
$dbuser = '...'; //usuario de la base de datos
$dbpasswd = '...'; //contraseña ...
$table_prefix = 'phpbb_'; // prefijo de la tabla
// Lo que viene ahora no lo toques para nada!!! a no ser que sepas de qué va el tema...
$conexion = mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname,$conexion);
$consulta = "select * from ".$table_prefix."posts order by post_time desc";
$resultado = mysql_query($consulta);
$i = 1;
echo "<table width=100% bgcolor=#FFFFFF><tr><td colspan=2></td></tr>";
while ($rows = mysql_fetch_array($resultado)) {
if ($i <= $mostrar) {
$consulta1 = "select * from ".$table_prefix."forums where forum_id='$rows[forum_id]'";
$resultado1 = mysql_query($consulta1);
$datosf = mysql_fetch_array($resultado1);
$consulta2 = "select * from ".$table_prefix."users where user_id='$rows[poster_id]'";
$resultado2 = mysql_query($consulta2);
$datosu = mysql_fetch_array($resultado2);
$consulta3 = "select * from ".$table_prefix."topics where topic_id='$rows[topic_id]'";
$resultado3 = mysql_query($consulta3);
$datost = mysql_fetch_array($resultado3);
if (strlen($datost[topic_title]) > $caracteres) {
$datost[topic_title] = substr($datost[topic_title],0,20)."...";
}
echo "<tr><td><font size=0><a href=\"$directorio/viewtopic.php?t=$rows[topic_id]\" title=\"$datosy[post_text]\" class=\"enlaces-dos\">$datost[topic_title]</a></font><font face=arial color=#888888 size=0>›› en <b>$datosf[forum_name]</b> por <b>$datosu[username]</b></font></td></tr>";
$i++;
}
}
echo "<tr><td colspan=2 id=subnav name=subnav><a href=$directorio/index.php><font size=0><br></font></a></td></tr></table>";
mysql_free_result($resultado);
mysql_close($conexion);
?>
Si algún experto me puede decir si ahora está bien programado todo. También me interesaría saber si hay que darle algun permiso CHMOD a este archivo, lo digo porque como tiene los datos de la db.
Saludos a todos!