Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wilnet

.:.Contagem de Registro.:.

Recommended Posts

Olá professores e contribuintes...

 

Estou com o seguninte problema, tenho esse link e uma pg de menus que está dentro de uma index:

<a class=linkcat href="./lista.asp?lista=categoria&cat_id=<%=categoria("id")%>&cat_nome=<%=categoria("nome")%>"><%=categoria("nome")%></a>
Estou usando esse script para contar os registros:

<% Dim con,query,path,visitspath = Request.ServerVariables("HTTP_REFERER")Set con = Server.CreateObject("ADODB.Connection")con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & database & ""Set query = con.Execute("SELECT * FROM counter WHERE path='" & path & "'")If query.EOF Then	con.Execute("INSERT INTO counter (path,visits) VALUES ('" & path & "',1)")End IfIf Not query.EOF Then	visits = cInt(query("visits"))+1Else 	visits = 1End IfIf showcounter = "visits" Then	Response.Write "<b>" & visits & "</b>"ElseIf showcounter = "no" Then	Response.Write " "Else	'Response.Write visitsEnd Ifcon.Execute("UPDATE counter SET visits='" & visits & "' WHERE path = '" & path & "'")con.closeSet con = NothingSet query = Nothing%>

Tenho uma segunda pg, que tb está dentro da mesma index, que lista todos os produtos clicados no link da primeira pg que postei acima. E nesta mesma pg, tenho um include trazendo esse script acima para contar os registros.

Para chamar a quantidade de registro em cada categoria clicada usei assim:

<%Dim lista_counterset lista_counter = lojaDB.Execute("SELECT * FROM counter Where visits= " & visits & "")%><div align="center">Nº de Visita desta Página: <%=lista_counter("visits")%>
No meu DB está assim:

ID - autonumeração

Path - Texto

Visits - Número

Agora o problema é esse, sempre que clico em uma Categoria ele faz a contagem de + 1, inseri no DB,mas na hora que vai mostrar Nº de Visita desta Página:

<%=lista_counter("visits")%> ele mostra sempre um anterior e nao o registro da propria categoria.

Por exemplo: no DB, categoria "automóvel" tem 23 acessos - na categoria "Informática" tem 14 acessos e assim vai... o que quero é exatamente isso, que ao clicar novamente na categoria "automóvel" ele me mostre o valor que está no DB e nao o do ultimo registro feito pela a pg do script acima. e ai sim, se eu clicar novamente no mesma categoria seguida, "automóvel" ele atualiza.

Acho que fui claro, mas se tiverem dúvidas vou postando ok?

Obrigado por hora a todos que me ajudarem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu problema está aqui

set lista_counter = lojaDB.Execute("SELECT * FROM counter Where visits= " & visits & "")
você precisa usar o id da categoria acessada na tabela counter pra puxar os registros referente a ela, só que eu acho que no seu caso você identifica pelo path.

set lista_counter = lojaDB.Execute("SELECT * FROM counter Where path= '" & path& "'")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá jonathandj valeu pela dica, mas continua acontecendo a mesma coisa.

Por exemplo: quando eu clico pela 1° vez em uma Categoria qualquer, "automóveis" como é o 1° clique, ele irá me mostrar 1 na contagem, e se clicar mais uma vez ai que irá mostrar o registro atual que está no DB, exemplo 35, e se for clicando ele vai atualizando normalmente.

Agora se eu clicar em outra categoria logo em seguida, ela pelo o certo deveria mostrar a contagem do registro dela, correto? só que ela primeiro mostra o da categoria anterior, no caso "automoveis" e só no segundo clique tb é que irá mostrar o correto.

 

O que posso fazer para sempre mostrar o registro certo em cada categoria que ja está no DB?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte, esse código...<%Dim lista_counterset lista_counter = lojaDB.Execute("SELECT * FROM counter Where visits= " & visits & "")%><div align="center">Nº de Visita desta Página:<%=lista_counter("visits")%>tem que estar ABAIXO do outro que faz o UPDATE

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.