hola,tengo un php para que consulte nuevos post en phpBB3 y que los ponga en la pagina principal.
------------------------------
Post.php
------------------------------
<?php
$con =mysql_connect("mysql.hostinger.es", "*********", "***********");
mysql_select_db("*************", $con);
// Cantidad de post a mostrar y prefijo de las tablas
$ultimos = 10;
$prefijo = "phpbb_";
// Consultas a la base
$result_mensaje=mysql_query("select * from $prefijo"."posts order by post_id desc limit $ultimos",$con);
while($mostrar_m = mysql_fetch_array($result_mensaje)) {
$post=$mostrar_m["post_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);
?>
<i><b><?=$forum_name;?></b></i> - </font><font face="verdana" size="1"><a href="http://taxhack.96.lt//Menu/Foro/viewtopic.php?p=<?=$post;?>" target="_blank"><? echo $mostrar_m["post_subject"]; ?></a>
<?
}
// Cerramos conexión
mysql_free_result($result_mensaje);
mysql_close($con);
?>
---------------------------------------------------------
Y quiero poner que debajo me ponga el nombre del usuario que a escrito ese mensaje y no se que poner...
alguien me puede decir....
Se lo agradezco mucho
¿Podrías mostrarnos las tablas de la base de datos?
(Si tienes acceso a ellas por consola, utiliza el comando "desc").
desc nombre_tabla
(Donde nombre_tabla sería el nombre de la tabla a mostrar).
Ya que sin la estructura de datos, no podemos saber cuál puede ser el nombre de la columna que contiene el nombre de usuario (si lo hay, que debería).
Nota: Intenta utilizar las etiquetas de código del foro.
Te dejo esto un poco mejor colocado:
<?php
$con =mysql_connect("mysql.hostinger.es", "*********", "***********");
mysql_select_db("*************", $con);
// Cantidad de post a mostrar y prefijo de las tablas
$ultimos = 10;
$prefijo = "phpbb_";
// Consultas a la base
$result_mensaje=mysql_query("select * from $prefijo"."posts order by post_id desc limit $ultimos",$con);
while($mostrar_m = mysql_fetch_array($result_mensaje))
{
$post=$mostrar_m["post_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);
?>
<i><b><?=$forum_name;?></b></i> - </font><font face="verdana" size="1"><a href="http://taxhack.96.lt//Menu/Foro/viewtopic.php?p=<?=$post;?>" target="_blank"><? echo $mostrar_m["post_subject"]; ?></a>
<?
}
// Cerramos conexión
mysql_free_result($result_mensaje);
mysql_close($con);
?>
PS: No he retocado nada, sólo utilizado las etiquetas e indentado el código.
Aqui las tablas:
phpbb_acl_groups
phpbb_acl_options
phpbb_acl_roles
phpbb_acl_roles_data
phpbb_acl_users
phpbb_attachments
phpbb_banlist
phpbb_bbcodes
phpbb_bookmarks
phpbb_bots
phpbb_config
phpbb_confirm
phpbb_disallow
phpbb_drafts
phpbb_extensions
phpbb_extension_groups
phpbb_forums
phpbb_forums_access
phpbb_forums_track
phpbb_forums_watch
phpbb_groups
phpbb_icons
phpbb_lang
phpbb_log
phpbb_login_attempts
phpbb_moderator_cache
phpbb_modules
phpbb_poll_options
phpbb_poll_votes
phpbb_posts
phpbb_privmsgs
phpbb_privmsgs_folder
phpbb_privmsgs_rules
phpbb_privmsgs_to
phpbb_profile_fields
phpbb_profile_fields_data
phpbb_profile_fields_lang
phpbb_profile_lang
phpbb_ranks
phpbb_reports
phpbb_reports_reasons
phpbb_search_results
phpbb_search_wordlist
phpbb_search_wordmatch
phpbb_sessions
phpbb_sessions_keys
phpbb_sitelist
phpbb_smilies
phpbb_styles
phpbb_styles_imageset
phpbb_styles_imageset_data
phpbb_styles_template
phpbb_styles_template_data
phpbb_styles_theme
phpbb_topics
phpbb_topics_posted
phpbb_topics_track
phpbb_topics_watch
phpbb_users
phpbb_user_group
phpbb_warnings
phpbb_words
phpbb_zebra
Bien, de estas tablas, deduzco que de las que necesitas sacar los valores sería de phpbb_posts y phpbb_users... posiblemente.
Puede que seas capaz de hacerlo seleccionando el valor "poster_id" de la siguiente:
https://wiki.phpbb.com/Table.phpbb_posts
Que, si no me equivoco, referencia al valor "user_id" de esta otra:
https://wiki.phpbb.com/Table.phpbb_users
Esta tabla de usuarios tiene el valor "username". Que sería el nombre de tu usuario.
Por tanto, la consulta sería:
select username from phpbb_posts p, phpbb_users u where p.poster_id like u.user_id;
Ahora lo que queda, sería buscar la forma de añadirlo después de leer la tabla:
(En la línea 10, lees la tabla phpbb_posts)
$result_mensaje=mysql_query("select * from $prefijo"."posts order by post_id desc limit $ultimos",$con);
Por tanto, recoger el valor correspondiente, posiblemente con:
$poster=$mostrar_m["poster_id"];
Utilizarlo para realizar la consulta de arriba...
$username=mysql_query("select username from $prefijo"."users where $poster like user_id);
Y luego recogerlo y mostrarlo, como los demás valores.
$mostrar_m["username"]=$username;
Con esto, teóricamente, meterías el nombre de tu usuario en el array "$mostrar_m[]" que deduzco que es el que lleva todo el contenido del mensaje a mostrar.