Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2010, 14:26
Jhon Silver
 
Fecha de Ingreso: marzo-2004
Ubicación: Madrid (España)
Mensajes: 837
Antigüedad: 20 años, 2 meses
Puntos: 9
Extraer datos de un foro

Hola amigos, tengo un foro funcionando en http://www.fotoviaje.net/public/forum/foro.asp


Quiero realizar la siguiente acción, extraer 3 mensajes con título vinculado al mensaje de foro a traves de include virtual para que aparezca en la home del dominio.

Lo quiero hacer es que ese título lo limite a un determinado numero de caracteres y no al mensaje completo. ¿Como podría hacerlo?

El script que extrae los datos a traves de una sentencia SQL es el siguiente.

La parte del código que muestra el título como enlace activo es el siguiente
<A HREF="vermensaje.asp?idmensaje=<%=RS("IdMensaje")% >"><%=(RS.Fields("Titulo"))%></A>

El script completo


<%
Dim oConn, RS, mostrar, pag_totales, pag_actual

Set oConn = Server.CreateObject ("ADODB.Connection")
Set RS = Server.CreateObject ("ADODB.RecordSet")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("viajes/viajando.mdb")
sql = "SELECT * FROM foro WHERE IdCabeza=0 ORDER BY Fecha DESC"
RS.Open sql, oConn,3,1

mostrar = 20
rs.PageSize = mostrar
rs.CacheSize = mostrar

if Request.Querystring("pagina")="" then
pag_actual=1
else
pag_actual=CInt(Request.Querystring("pagina"))
end if

pag_totales = rs.PageCount

if pag_actual < 1 then
pag_actual = 1
end if
if pag_actual > pag_totales then
pag_actual = pag_totales
end if

if pag_totales=0 then
Response.Write("No hay mensajes en el foro.")
else
rs.AbsolutePage = pag_actual
Response.Write "<TABLE ALIGN=center WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD>"
Response.Write("<B>Página " & Pag_actual & " de " & pag_totales &"</B><BR><BR>")
cant_registros = 0
Response.Write "</TD><TD ALIGN=right VALIGN=top>"
if pag_actual > 1 then
Response.Write("<A HREF=foro.asp?pagina="& pag_actual-1& ">Mensajes anteriores</A>&nbsp;&nbsp;&nbsp;&nbsp;")
end if
if pag_actual < pag_totales then
Response.Write("<A HREF=foro.asp?pagina=" & pag_actual+1 &">Mensajes antiguos</A><BR><BR>")
end if%>
</TD>
</TR></TABLE>

<TABLE class="tborde" WIDTH="780" BORDER="1" ALIGN="center" CELLPADDING="0" CELLSPACING="0" bordercolor="#F2F2F2">
<TR BGCOLOR="#ffffcc">
<TD WIDTH="90%" ALIGN="center" bgcolor="#66B38E"><B><font color="#FFFFFF">Título
del Mensaje</font></B></TD>
<TD WIDTH="10%" ALIGN="center" bgcolor="#66B38E"><B><font color="#FFFFFF">Respuestas</font></B></TD>
<TD ALIGN="center" bgcolor="#66B38E"><B><font color="#FFFFFF">Fecha</font></B></TD>
</TR>

<%do while not rs.EOF and cant_registros < mostrar
fecha = RS("Fecha")%>
<TR>
<TD><IMG SRC="arrow1.gif" alt="Titulo del post">&nbsp;&nbsp;<A HREF="vermensaje.asp?idmensaje=<%=RS("IdMensaje")% >"><FONT FACE="Arial" SIZE="2"><%=(RS.Fields("Titulo"))%></FONT></A></TD>
<% Response.Write "<TD ALIGN=center>&nbsp;["&RS("Respuestas")&"]&nbsp;</TD><TD ALIGN=center><FONT SIZE=2>" &Day(fecha)&"/"&Month(fecha)&"</FONT><BR></TD></TR>"
cant_registros = cant_registros +1
RS.MoveNext
Loop
end if

RS.Close
oConn.Close
Set RS = nothing
Set oConn = nothing
%>