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

Nº de visitas en una imagen

Estas en el tema de Nº de visitas en una imagen en el foro de ASP Clásico en Foros del Web. Hola. Tengo una BD access con3 campos: Id, Descripcion y Foto, para mostrar una serie de fotos de manera paginada, de la siguiente forma: <% ...
  #1 (permalink)  
Antiguo 09/07/2004, 02:24
 
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.
  #2 (permalink)  
Antiguo 09/07/2004, 02:36
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 21 años, 8 meses
Puntos: 0
Proba con:
Código:
<%
SumoContador = rs("contador") + 1 
sql = "UPDATE Contador VALUE ('"&SumoContador&"')"
%>
Usa ese codigo como base, te digo pq son las 05.40am aca y me pase toda la noche tecleando ASP, por eso no te escribo mas , pero espero q hayas entendido la idea.
Basicamente recupera el valor del campo Contador correspondiente a una imagen y le asigna el valor SumoContador q se incrementa unitariamente.
Creo q no precisas mas q eso, doy por obvio q sabes donde colocarlo y como utilizarlo, pero te repito, chekea q la sintaxis este correcta.
un saludo

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #3 (permalink)  
Antiguo 09/07/2004, 03:48
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años, 5 meses
Puntos: 0
Código:
strSQL = "UPDATE TABLA SET VISTO = VISTO + 1 WHERE IMAG_ID="& Request.QueryString("id")
Esa debería ser la SQL, más o menos :P
__________________
Tu portal de manga y anime.
  #4 (permalink)  
Antiguo 11/07/2004, 20:24
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 21 años, 8 meses
Puntos: 0
Muy bien meru-kun no se me habia ocurrido sumar en la misma SQL.
Y como ves, confundi la sintaxis del UPDATE con la del INSERT.
Bien, es lo q me gusta de los foros, ayudando se aprende

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
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 00:14.