Foros del Web » Programando para Internet » ASP Clásico »

Extraer datos de un foro

Estas en el tema de Extraer datos de un foro en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/01/2010, 14:26
 
Fecha de Ingreso: marzo-2004
Ubicación: Madrid (España)
Mensajes: 837
Antigüedad: 20 años, 1 mes
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
%>
  #2 (permalink)  
Antiguo 26/01/2010, 21:28
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
Respuesta: Extraer datos de un foro

pero que es lo que te falta? solo cortar el titulo o que?
<%=(RS.Fields("Titulo"))%>

si es asi podrias usar algo asi supongo:
Código ASP:
Ver original
  1. titulo=rs("titulo")
  2. if len(titulo)>100 then 'por poner un limite o cambiar por el que tu quieras
  3. titulo_final = left(titulo,100) & "..."
  4. else
  5. titulo_final=titulo
  6. end if
__________________
CreandoWebs.com
www.creandowebs.com
PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO
  #3 (permalink)  
Antiguo 27/01/2010, 02:05
 
Fecha de Ingreso: marzo-2004
Ubicación: Madrid (España)
Mensajes: 837
Antigüedad: 20 años, 1 mes
Puntos: 9
Respuesta: Extraer datos de un foro

Cita:
Iniciado por sjam7 Ver Mensaje
pero que es lo que te falta? solo cortar el titulo o que?
<%=(RS.Fields("Titulo"))%>

si es asi podrias usar algo asi supongo:
Código ASP:
Ver original
  1. titulo=rs("titulo")
  2. if len(titulo)>100 then 'por poner un limite o cambiar por el que tu quieras
  3. titulo_final = left(titulo,100) & "..."
  4. else
  5. titulo_final=titulo
  6. end if
Quiero limitar los caracteres del titulo y su enlace correspondiente al foro a 50 caracteres para que quede a modo de introduccion, ya que si dejo el título sin limite como el foro se descuadraria en exceso en la home.

Voy a probar el codigo y luego te cuento

Etiquetas: extraer, foros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:13.