Asuntos varios
Publicado: 06 Dic 2009, 16:44
Buenas tardes gurus del Phpbb
Estoy intentando personalizar un poco mi foro para dejarlo realmente como me gustaria que fuese y me he quedado atascado en un par de cosas. Antes que nada decir que sobre codigo Php y html me limito a copiar y a interpretar logicamente pero no lo he estudiado. Bueno, vamos con las cuestiones:
Como podeis ver en los datos de soporte he descargado e instalado el mChat (sin problemas despues de aprender unas cuantas cosas leyendo el foro) y a continuación con la lección supuestamente aprendida me baje e instalé tambien el Forum Sponsors, todo bajado de la página oficial de Phpbb. Pues el asunto es que el Forum Sponsors una vez subidos los archivos y ejecutado el install.php no aparece por ningún lado, ni siquiera cambiando a los estilos prosilver o subsilver. Sospecho que hay que modificar código al igual que el mChat pero no he conseguido encontrar las modificaciones.
La segunda cuestión es que tras leer bastante sobre como poner una lista con los últimos post en una página de inicio he logrado que se vean, adaptar el formato y algunas cosas mas, pero el asunto de los post no sale. Además me gustaría que cada línea tuviera un enlace hacia el post. Les dejo el código incluso con las notas del post del que lo pillé a continuación:
<?php
//Lo primero es asignar un prefijo de tablas.
//Este prefijo es el que elegiste al instalar phpbb (por defecto el prefijo es "phpbb2_"
//Lo puedes mirar examinando la base de datos, las tablas de los foros comienzan por ese prefijo.
//por ejemplo imaginemos que mi prefijo es phpbb2
$prefijo="phpbb_";
//Conectamos con la base de datos:
//cambia los siguientes valores con los tuyos:
$host="[color=#FF0000]blablabla[/color]";
$usr="[color=#FF0000]blablabla[/color]";
$password="[color=#FF0000]blablabla[/color]";
$error_conexion="No se puede conectar a la base de datos. el error es el siguiente: ";
$conexion= mysql_connect ($host,$usr,$password) or die ($error_conexion . mysql_error());
//seleccionamos la base de datos sobre la que queremos operar:
$bdatos="[color=#FF0000]blablabla[/color]";
//se supone que hemos conectado a la base de datos. Ahora vamos a seleccionar los posts necesarios.
$sql="select post_id,poster_id,post_time,forum_id from ".$prefijo."posts order by post_time desc";
$consulta=mysql_db_query($bdatos,$sql);
//definimos cuantos posts queremos mostrar, en este caso 10:
$numeroposts=7;
//creamos una tabla HTML para meter los datos:
?>
<table>
<center>
</table>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: Century Gothic; font-style: italic; font-weight: regular" width="640" id="AutoNumber1">
<tr>
<td colspan='4' style="border-left-width: 1; border-right-width: 1; border-top-width: 1; border-bottom-style: outset; border-bottom-width: 1" width="640">
Últimos posts
</td>
</tr>
<tr>
<td width="127">
Foro
</td>
<td width="216">
Asunto
</td>
<td width="142">
Usuario
</td>
<td width="155">
Fecha
</td>
</tr>
<?php
//Bucle que crea una fila por cada post
$contador=0;
while(($fila=mysql_fetch_array($consulta)) && ($contador<$numeroposts))
{
?>
<tr>
<?php
//primero seleccionamos el nombre del foro:
$forum_id=$fila['forum_id'];
$sql="select forum_name from ".$prefijo."forums where(forum_id='$forum_id')";
$forum_name=mysql_db_query($bdatos,$sql);
$forum_name=mysql_fetch_array($forum_name);
$forum_name=$forum_name['forum_name'];
?>
<td width="127">
<?php
echo $forum_name;
?>
</td>
<?php
//Seleccionamos el título del mensaje.
$post_id=$fila['post_id'];
$sql="select post_subject from ".$prefijo."posts_text where(post_id='$post_id')";
$post_subject=mysql_db_query($bdatos,$sql);
$post_subject=mysql_fetch_array($post_subject);
$post_subject=$post_subject['post_subject'];
?>
<td width="216">
<?php
echo $post_subject;
?>
</td>
<?php
//Seleccionamos el título del mensaje.
$poster_id=$fila['poster_id'];
$sql="select username from ".$prefijo."users where(user_id='$poster_id')";
$username=mysql_db_query($bdatos,$sql);
$username=mysql_fetch_array($username);
$username=$username['username'];
?>
<td width="142">
<?php
echo $username;
?>
</td>
<td width="155">
<?php
//mostramos la fecha
$fecha=$fila['post_time'];
echo date('d/m/Y H:i',$fecha);
?>
</td>
</tr>
<?php
$contador=$contador+1;
}//final del bucle while
?>
</table>
</center>
</div>
<?php
mysql_close($conexion);
?> Por cierto, aunque no aparece el asunto del mensaje no me da ningún error, simplemente se queda en blanco. Disculpad mi ignorancia... estoy aprendiendo.

Estoy intentando personalizar un poco mi foro para dejarlo realmente como me gustaria que fuese y me he quedado atascado en un par de cosas. Antes que nada decir que sobre codigo Php y html me limito a copiar y a interpretar logicamente pero no lo he estudiado. Bueno, vamos con las cuestiones:
Como podeis ver en los datos de soporte he descargado e instalado el mChat (sin problemas despues de aprender unas cuantas cosas leyendo el foro) y a continuación con la lección supuestamente aprendida me baje e instalé tambien el Forum Sponsors, todo bajado de la página oficial de Phpbb. Pues el asunto es que el Forum Sponsors una vez subidos los archivos y ejecutado el install.php no aparece por ningún lado, ni siquiera cambiando a los estilos prosilver o subsilver. Sospecho que hay que modificar código al igual que el mChat pero no he conseguido encontrar las modificaciones.
La segunda cuestión es que tras leer bastante sobre como poner una lista con los últimos post en una página de inicio he logrado que se vean, adaptar el formato y algunas cosas mas, pero el asunto de los post no sale. Además me gustaría que cada línea tuviera un enlace hacia el post. Les dejo el código incluso con las notas del post del que lo pillé a continuación:
<?php
//Lo primero es asignar un prefijo de tablas.
//Este prefijo es el que elegiste al instalar phpbb (por defecto el prefijo es "phpbb2_"
//Lo puedes mirar examinando la base de datos, las tablas de los foros comienzan por ese prefijo.
//por ejemplo imaginemos que mi prefijo es phpbb2
$prefijo="phpbb_";
//Conectamos con la base de datos:
//cambia los siguientes valores con los tuyos:
$host="[color=#FF0000]blablabla[/color]";
$usr="[color=#FF0000]blablabla[/color]";
$password="[color=#FF0000]blablabla[/color]";
$error_conexion="No se puede conectar a la base de datos. el error es el siguiente: ";
$conexion= mysql_connect ($host,$usr,$password) or die ($error_conexion . mysql_error());
//seleccionamos la base de datos sobre la que queremos operar:
$bdatos="[color=#FF0000]blablabla[/color]";
//se supone que hemos conectado a la base de datos. Ahora vamos a seleccionar los posts necesarios.
$sql="select post_id,poster_id,post_time,forum_id from ".$prefijo."posts order by post_time desc";
$consulta=mysql_db_query($bdatos,$sql);
//definimos cuantos posts queremos mostrar, en este caso 10:
$numeroposts=7;
//creamos una tabla HTML para meter los datos:
?>
<table>
<center>
</table>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: Century Gothic; font-style: italic; font-weight: regular" width="640" id="AutoNumber1">
<tr>
<td colspan='4' style="border-left-width: 1; border-right-width: 1; border-top-width: 1; border-bottom-style: outset; border-bottom-width: 1" width="640">
Últimos posts
</td>
</tr>
<tr>
<td width="127">
Foro
</td>
<td width="216">
Asunto
</td>
<td width="142">
Usuario
</td>
<td width="155">
Fecha
</td>
</tr>
<?php
//Bucle que crea una fila por cada post
$contador=0;
while(($fila=mysql_fetch_array($consulta)) && ($contador<$numeroposts))
{
?>
<tr>
<?php
//primero seleccionamos el nombre del foro:
$forum_id=$fila['forum_id'];
$sql="select forum_name from ".$prefijo."forums where(forum_id='$forum_id')";
$forum_name=mysql_db_query($bdatos,$sql);
$forum_name=mysql_fetch_array($forum_name);
$forum_name=$forum_name['forum_name'];
?>
<td width="127">
<?php
echo $forum_name;
?>
</td>
<?php
//Seleccionamos el título del mensaje.
$post_id=$fila['post_id'];
$sql="select post_subject from ".$prefijo."posts_text where(post_id='$post_id')";
$post_subject=mysql_db_query($bdatos,$sql);
$post_subject=mysql_fetch_array($post_subject);
$post_subject=$post_subject['post_subject'];
?>
<td width="216">
<?php
echo $post_subject;
?>
</td>
<?php
//Seleccionamos el título del mensaje.
$poster_id=$fila['poster_id'];
$sql="select username from ".$prefijo."users where(user_id='$poster_id')";
$username=mysql_db_query($bdatos,$sql);
$username=mysql_fetch_array($username);
$username=$username['username'];
?>
<td width="142">
<?php
echo $username;
?>
</td>
<td width="155">
<?php
//mostramos la fecha
$fecha=$fila['post_time'];
echo date('d/m/Y H:i',$fecha);
?>
</td>
</tr>
<?php
$contador=$contador+1;
}//final del bucle while
?>
</table>
</center>
</div>
<?php
mysql_close($conexion);
?> Por cierto, aunque no aparece el asunto del mensaje no me da ningún error, simplemente se queda en blanco. Disculpad mi ignorancia... estoy aprendiendo.
