Alguien me podria decir los cambios que habria que hacer al script para en vez de mostrar el titulo autor y texto de los ultimos mensajes, haga exastamente lo mismo pero para los últimos temas. No últimos mensajes.
he intentado cambiar en la primera consulta.
Esto:
Código PHP:
$consulta = "select * from ".$table_prefix."posts order by post_time desc";
por:
Código PHP:
$consulta = "select * from ".$table_prefix."topics order by topic_time desc";
y si me muestra bien los títulos, pero se pierden el nombre de los autores y el texto de los topic, no aparece, ya cambie todo lo que se refiere a la consulta de los textos en vez de posts, que las haga sobre los topics, pero no consigo nada, me he hecho un lio y cada vez estoy mas mareado y no consigo nada.
¿me podrian ayudar? Gracias por su tiempo. Saludos.
Edito: Ya lo consegui.
Para quien le interes Aquí lo pongo:
Código PHP:
<?php
// Edita lo que viene a continuación. Cambia solo lo que hay entre comillas "":
$directorio = "/foro"; //Carpeta donde esta situadoel foro.
$mostrar = "11"; //Número de mensajes a mostrar.
$caracteres = "40"; //Caracteres que se mostrarán de cada línea.
$dbhost = 'xxxxxxxxxx'; //nombre de host (suele ser 'localhost')
$dbname = 'xxxxxxxxxxx'; //nombre de la base de datos
$dbuser = 'xxxxxxxxxx'; //usuario de la base de datos
$dbpasswd = 'xxxxxxxxx'; //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."topics order by topic_id desc";
$resultado = mysql_query($consulta);
$i = 0;
echo "<table width=630 align=left><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."topics where topic_id='$rows[topic_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)."...";
}
// Añadido por Defero.tk para sacar el texto del mensaje
$consulta6 = "select * from ".$table_prefix."posts where topic_id='$rows[topic_id]'";
$resultado6 = mysql_query($consulta6);
$datosy = mysql_fetch_array($resultado6);
// Añadido por Defero.tk para eliminar el bbcode del texto del mensaje
// inspirado en otro código de Xergio http://media.xergio.net/trabajo/81-simple-bbcode
{
$datosy[post_text] = preg_replace("(\[.+?\])is",'',$datosy[post_text]);
}
// Acorta el texto de los mensajes hasta 150 caracteres
{
$datosy[post_text] = substr($datosy[post_text],0,150)."...";
}
echo "<tr><td><font size=0><b> •</b> <a href=\"$directorio/viewtopic.php?t=$rows[topic_id]\" title=\"$datosy[post_text]\">$datost[topic_title]</font></a></td><td><font color=#AC2D02 size=0>›› en <b>$datosf[forum_name]</b> por <i>$datosu[topic_first_poster_name]</i></font></td></tr>";
$i++;
}
}
echo "<tr><td colspan=2 align=left 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);
?>
Se puede decir que este es el script que hace lo mismo que los ultimos mensajes, pero con los ultimos temas.
Que lo disfruten.
Saludos.