Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2004, 02:24
aruizroldan
 
Fecha de Ingreso: octubre-2003
Mensajes: 280
Antigüedad: 21 años, 6 meses
Puntos: 1
Nº de visitas en una imagen

Hola. Tengo una BD access con3 campos: Id, Descripcion y Foto, para mostrar una serie de fotos de manera paginada, de la siguiente forma:

<%
Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop

mostrar = 1 ' Pueden modificar este número para cambiar la cantidad de registros por página

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

strsql = "SELECT * FROM tabla"

' Creamos la conexion a la base de datos
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("./fotos.mdb")

' Creamos el RecordSet y definimos la cantidad de registros a mostrar
Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar

' Abrimos la tabla...
RS.Open strSQL, oConn,3,1
'contamos las páginas que se formaron con la variable mostrar.
cant_paginas = RS.PageCount

' Si el pedido de página cae afuera del rango,
' lo modificamos para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

' Si la cantidad de páginas da 0 es que no hay registros... por eso este IF
If cant_paginas = 0 Then
Response.Write "No hay registros..."
Else
' Nos movemos a la página elegida
RS.AbsolutePage = pagina_actual
' Mostramos el dato de que página estamos...
%>
Foto <B><%= pagina_actual %></B> de <B><%= cant_paginas %></B></font>
<font size="2" face="Arial, Helvetica, sans-serif">
<%

' Hacemos el bucle mostrando los datos del registro
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not RS.EOF
'Mostramos el nombre del articulo.
Response.Write "<BR>"

'Ahora el path de la imagen.
Response.Write RS("Descripcion")
Response.Write "<BR>"
'Y la siguiente linea muestra la imagen.
Response.Write "<IMG SRC="""&RS("Foto")&""">"
Response.Write "<BR>"


' Sumamos 1 a los mostrados
registro_mostrado = registro_mostrado + 1
' Nos movemos al próximo registro...
RS.MoveNext
Loop

'listo...

End If

' Cerramos y limpiamos...
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing

' Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
If pagina_actual > 1 Then
%>
<a href="./fotos.asp?eje=30&page=<%= pagina_actual - 1 %>">[<<]</a>
<%
End If

' mostramos la paginacion por numeros de página
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
<%= I %>
<%
Else
%>
<a href="./fotos.asp?eje=30&page=<%= I %>"><%= I %></a>
<%
End If
Next 'I

If pagina_actual < cant_paginas Then
%>
<a href="./fotos.asp?eje=30&page=<%= pagina_actual + 1 %>">[>>]</a>
<%
End If
'Fin...
%>

Bien, lo que me gustaria es crear otro campo en la BD, llamado Contador e iniciarlo a 0. Y cada vez que se accede a una foto en especifico, este contador se incremente en 1, e indique el numero de veces que se ha accedido a esa foto en especifico.

Un saludo.