Cita:
Iniciado por daosorio Estimados colegas:
Yo uso el siguiente código para mostrar los últimos 15 mensajes del foro en una page x, y me funciona bien.
Código PHP:
<?
// phpBB :: MOSTRAR ULTIMOS 15 MENSAJES
$con=mysql_connect("localhost",USER,"");
mysql_select_db("BASEDEDATOS",$con);
// Cantidad de post a mostrar y prefijo de las tablas
$ultimos = 15;
$prefijo = "TBL_phpbb_";
// Consultas a la base
$result_mensaje=mysql_query("select * from $prefijo"."topics order by topic_id desc limit $ultimos",$con);
while($mostrar_m = mysql_fetch_array($result_mensaje)) {
$topic=$mostrar_m["topic_id"];
$forum_id=$mostrar_m["forum_id"];
$result_foro=mysql_query("select * from $prefijo"."forums where forum_id like $forum_id",$con);
$mostrar_f=mysql_fetch_array($result_foro);
$forum_name = $mostrar_f["forum_name"];
mysql_free_result($result_foro);
?>
<a href="http://MYSITE/phpBB2/viewtopic.php?t=<?=$topic;?>" target="_blank"><? echo $mostrar_m["topic_title"]; ?></a> en <i><b>
<?=$forum_name;?>
</b></i></font> <br>
<?
}
// Cerramos conexión
mysql_free_result($result_mensaje);
mysql_close($con);
?>
Sin embargo, me gustaría saber cómo le hago para lograr lo siguiente:
1.- Que muestre la fecha en que se posteó (publicó)
Tema - En Carpeta fulana - Fecha
2.- Y que me muestre los temas de una categoría, no de la subcategoría.
Ejemplo:
TECNOLOGÍA
* Software
* Hardware
* Híbrida
Por citar un caso, pero que me muestre todos los temas de tecnología y No los de solo de soft, o hard o híbridad...
Quedando así:
Nuevos discos duros en
Hardware - 01/01/2005
Fedora Core 10 en
Sofware - 15/05/2006
Espero se pueda.
Gracias y saludos.
He estado trasteando un rato y mas o menos me sale, míralo y contrástalo a ver si te sirve:
Código PHP:
<?
// iniciamos sesión phpBB si el código no está dentro de algún script del foro
// en cuyo caso no haría falta
// definimos la ruta del foro en phpbb_root_path
// si es el directorio del foro no ponemos nada
// si esta por arriba del foro ponemos: directorio_del_foro/
define('IN_PHPBB', true);
$phpbb_root_path = 'foro/'; //PATH DEL FORO RESPECTO DEL SCRIPT
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
global $db, $board_config;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
$cookiename = $board_config['cookie_name'];
$cookiepath = $board_config['cookie_path'];
$cookiedomain = $board_config['cookie_domain'];
$cookiesecure = $board_config['cookie_secure'];
// determinamos si cookie activada sino propagamos sid por url
if ( !(isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data'])) )
{
output_add_rewrite_var('sid', $userdata['session_id']);
}
// fin inicio sesión phpBB
$p = $table_prefix;
$auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata);
while ( list($auth_forum_id, $auth_level) = each($auth_ary) )
{
if (!$auth_level['auth_read'] )
{
$auth_view_forums = ($auth_view_forums . " p.forum_id<>" . $auth_forum_id . " and ");
$auth_view_forums1 = ($auth_view_forums1 . " forum_id<>" . $auth_forum_id . " and ");
}
}
$auth_view_forums="WHERE " . $auth_view_forums;
$auth_view_forums1="WHERE " . $auth_view_forums1;
$busqueda= @mysql_query("SELECT * FROM ".$p."categories");
if (!$busqueda)
{
echo ("Error al seleccionar los elementos de la base de datos. Por favor Inténtelo de nuevo más tarde.");
exit();
}
while ($row = mysql_fetch_assoc($busqueda))
{
$cat[$row['cat_id']]=$row['cat_title'];
}
if (!isset($_GET['id']) || !in_array($_GET['id'],array_keys($cat))) {$_GET['id']=key($cat);}
?>
Últimas respuestas en la categoría <?=$cat[$_GET['id']]?><br /><br />
<?
$sql = mysql_query("SELECT po.post_time,p.forum_name,t.topic_time,t.topic_last_post_id,t.topic_title,t.topic_replies,t.topic_id from " . $p . "forums p,". $p . "topics t,". $p . "posts po WHERE t.topic_last_post_id=po.post_id and t.forum_id=p.forum_id and p.cat_id=".$_GET['id']." ORDER BY t.topic_last_post_id DESC,t.topic_time ASC LIMIT 0,5");
while ($row = mysql_fetch_array($sql)) {
$id = $row['topic_id'];
$titulo = $row['topic_title'];
$respuestas = $row['topic_replies'];
$post_id = $row['topic_last_post_id'];
$dat=getdate($row['post_time']);
?>
<a href="<?=$phpbb_root_path?>viewtopic.php?t=<?=$id?>&highlight=#<?=$post_id?>">-<?=$titulo?></a> en <b><?=$row['forum_name']?></b> - <?=$dat["mday"]?>/<?=$dat["mon"]?>/<?=$dat["year"]?> <br />(<?=$respuestas?> Respuestas)<br /><br/>
<?
}
?> <br />
<br>
<form action="<?=$PHP_SELF?>" method="get">
<select name="id" value="1" onchange="if(this.options[this.selectedIndex].value != -1) {this.form.submit();}">
<option value="-1">Seleccione la categoria</option>
<option value="-1"></option>
<?
foreach ($cat as $key=>$value)
{
$sel = ($key==$_GET['id']) ? " selected=\"selected\"" : "";
?>
<option value="<?=$key?>" <?=$sel?>><?=$value?></option>
<?}?>
</form>
Ejemplo de cómo quedaría:
http://elotrositio.tuarrobanet.com/top.php
Salu2 ;)