Si los dos últimos mensajes corresponden a un mismo tema, éste aparecerá dos veces, una por cada mensaje.
Fíjate cómo uso yo lo de los
últimos mensajes. Si te fijas, en este momento los dos últimos mensajes corresponden al mismo tema, con lo cual se podría decir que el tema aparece repetido. Pero al citar qué usuario ha publicado el mensaje, queda claro que no se trata de algo duplicado.
El código usado para la lista de últimos mensajes es éste, basado en
esto:
Código PHP:
<p style="text-align: center; font-size: 12pt; font-weight: bold; background: #555; padding: 10px; margin: 0; color: white">Últimos mensajes del foro</p>
<ul>
<?
// Últimos mensajes publicados en foros phpBB2.
// Creado por XeRGio y modificado por Defero.tk
// www.xergio.net
//
// Edita lo que viene a continuación. Cambia solo lo que hay entre comillas "":
$directorio = "./forum"; //Carpeta donde esta situadoel foro.
$mostrar = "2"; //Número de mensajes a mostrar.
$caracteres = "20"; //Caracteres que se mostrarán de cada línea.
// Lo que viene ahora no lo toques para nada!!! a no ser que sepas de qué va el tema...
include("$directorio/config.php");
$conexion = mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname,$conexion);
$consulta = "select * from ".$table_prefix. "posts WHERE forum_id='9' order by post_time desc" ;
$resultado = mysql_query($consulta);
$i = 0;
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);
// Añadido por Defero.tk para sacar el ID del mensaje
$consulta4 = "select * from ".$table_prefix."posts_text where post_id='$rows[post_id]'";
$resultado4 = mysql_query($consulta4);
$datosx = mysql_fetch_array($resultado4);
if (strlen($datost[topic_title]) > $caracteres) {
$datost[topic_title] = substr($datost[topic_title],0,20)."...";
}
{
$datosx[post_text] = preg_replace("(\[.+?\])is",'',$datosx[post_text]);
}
{
$datosx[post_text] = substr($datosx[post_text],0,150)."...";
}
echo "<li><a href=\"./forum/profile.php?mode=viewprofile&u=$datosu[user_id]\">$datosu[username]</a> ha respondido en el tema \"<a href=\"$directorio/viewtopic.php?t=$rows[topic_id]\" title=\"$datosx[post_text]\"><b>$datost[topic_title]</b></a>\" del subforo <a href=\"./forum/viewforum.php?f=$datosf[forum_id]\">$datosf[forum_name]</a></li>";
$i++;
}
}
mysql_free_result($resultado);
mysql_close($conexion);
?>
</ul>