Durante meses he andado buscando un lugar en el web donde encontrar un código en ASP, que abra la base de datos de MySQL y que me muestre los últimos registros (topicos, temas) de el foro phpBB 2.0.10.
He encontrado muchos en formato PHP que son buenos, pero como mi sitio esta construido totalmente en ASP tenia que manejar un “iframe” para poder incluir los últimos temas de mi foro.
Un día de estos con la ayuda de “forosdelweb” y con la revisión de las tablas pude extraer con ASP los últimos 3 tópicos puestos en el foro en ASP
Coloco la distribución de las tablas que he tomado par referencias de aquellos que como su servidor han estado tratando de saber cuales tablas son las que se afecta y sobre todo que no conocen mucho del ingles y que nos cuesta leer otros foros.
La base de datos las hice en Access solo para poder verificar que el “Quero” me funcionara, la pueden descargar de: http://102ymedio.com.sv/descargar/as...paraPHPBB2.zip
Ahí esta los campos y las tablas utilizadas para poder realizar la consulta.
El código que utilizo en la consulta es el siguiente (se que alguien lo mejorara y me dirá hazlo así es mas rápido o mas fácil y pues es lo que espero):
SELECT foro_phpbb_topics.topic_id, foro_phpbb_topics.topic_title, foro_phpbb_users.username, foro_phpbb_forums.forum_name
FROM foro_phpbb_forums INNER JOIN (foro_phpbb_topics INNER JOIN (foro_phpbb_topics_watch INNER JOIN foro_phpbb_users ON foro_phpbb_topics_watch.user_id = foro_phpbb_users.user_id) ON foro_phpbb_topics.topic_id = foro_phpbb_topics_watch.topic_id) ON foro_phpbb_forums.forum_id = foro_phpbb_topics.forum_id
ORDER BY foro_phpbb_topics.topic_id DESC;
Sugiero utilizar el codigo dentro de un "includ" en tu portal
Nombre de archivoUltimosforo.asp
Código HTML:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>New Page 1</title> </head> <body> <p style="margin-left: 5px; margin-right: 5px"> <br> <% dim conn dim conn_string conn_string = "Driver={MySQL};Server=localhost;Database=nombredetubase;Uid=usuariodelabase;Pwd=passworddelabase" 'Algunos servidores requeriran de un Puerto colocarlo de la siguiente manera: Server=localhost;Port=3306;Database… Set conn = Server.CreateObject("ADODB.Connection") conn.Open(conn_string) strQuery = "SELECT foro_phpbb_topics.topic_id, foro_phpbb_topics.topic_title, foro_phpbb_users.username, foro_phpbb_forums.forum_name FROM foro_phpbb_forums INNER JOIN (foro_phpbb_topics INNER JOIN (foro_phpbb_topics_watch INNER JOIN foro_phpbb_users ON foro_phpbb_topics_watch.user_id = foro_phpbb_users.user_id) ON foro_phpbb_topics.topic_id = foro_phpbb_topics_watch.topic_id) ON foro_phpbb_forums.forum_id = foro_phpbb_topics.forum_id ORDER BY foro_phpbb_topics.topic_id DESC;" Set RS = conn.Execute(strQuery) %> <% 'seteamos la variable limiteforo que define cuantos queremos mostrar limiteforo = 0 while (not RS.eof and limiteforo < 3) %> <h1>Ultimos mensajes en el libro de visitas </h1> <p><b>.: <%=RS("topic_title")%></b> en <%=RS("forum_name")%> - por <i> <%=RS("username")%></i></p> <% 'sumamos uno al la variable limiteforo limiteforo = limiteforo + 1 'nos movemos al siguiente registro RS.MoveNext %> <%wend%> <% 'cerramos y limpiamos conn_string .Close set RS = nothing set conn_string = nothing %> </p> </body> </html>