py2tz Postado Setembro 20, 2006 Denunciar Share Postado Setembro 20, 2006 Ele esta contando, mas acrescenta +1 em todos os registros, teria que ser individualmente para cada ID clicada, ou seja faz a contagem para cada registro do BD independente, esse abaixo atualiza a coluna cliques de todos os registros.alguém pode indicar a alteração?<%SET Con = Server.CreateObject("ADODB.Connection")Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("arvore.mdb") set conta_visitas = Con.execute("SELECT * FROM prlist")IF NOT Session("on") = TRUE THENCon.Execute("UPDATE prlist SET cliques='"& conta_visitas("cliques")+1 &"'")Session("on") = TRUESession.TimeOut = 10END IFResponse.Write " "& conta_visitas("cliques")%>Obrigado Fausto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Henderson Postado Setembro 20, 2006 Denunciar Share Postado Setembro 20, 2006 Você não precisa fazer um SELECT para depois fazer um UPDATE.Pode fazer assim direto ó: <% SET Con = Server.CreateObject("ADODB.Connection") Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("arvore.mdb") IF NOT Session("on") = TRUE THEN Con.Execute("UPDATE prlist SET cliques= cliques +1 WHERE id = "&id&"") 'ACIMA, A VARIÁVEL ID DEVE TER O NUMERO DA ID QUE DEVE SER ATUALIZADO O NÚMERO DE CLIQUES Session("on") = TRUE Session.TimeOut = 10 END IF set conta_visitas = Con.Execute("SELECT * FROM prlist WHERE id = "&id&"") Response.Write " "&conta_visitas("cliques") %> Na linha comentada, tem a variável ID.Ali vai ser a ID alterada.Esse valor você deve passar por um FORM, ou QUERYSTRING, você vê a melhor forma. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Setembro 20, 2006 Autor Denunciar Share Postado Setembro 20, 2006 Então beleza, tentei, mas não tá contando,O codigo que você alterou fica dentro de uma arquivo chamado cont_reg.asp e dentro da pagina que carrega os dados do registro já pre escolhido onde possui os dados da pessoa existe um include que carrega esse script.Visualizo os cliques da coluna cliques, porem não conta, esta em numero 3 e não sai disso.Ficou assim:<%SET Con = Server.CreateObject("ADODB.Connection")Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("arvore.mdb") id = request.querystring("id")IF NOT Session("on") = TRUE THENCon.Execute("UPDATE prlist SET cliques= cliques +1 WHERE id = "&id&"")Session("on") = TRUESession.TimeOut = 10END IF%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Setembro 20, 2006 Autor Denunciar Share Postado Setembro 20, 2006 Começou a contar desse jeito:<%SET Con = Server.CreateObject("ADODB.Connection")Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("arvore.mdb") id = request.querystring("id")'IF NOT Session("on") = TRUE THENCon.Execute("UPDATE prlist SET cliques = cliques +1 WHERE id = "&id&"")'Session("on") = TRUE'Session.TimeOut = 10'END IF%>Sendo que o que esta em vermelho parece que bloqueia a contagem, pergunta de leigo:O timeout=10 quer dizer o que? 10 minutos de uma visita a outra?PS: Note que as linhas em vermelhho estao desabilitadas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Henderson Postado Setembro 20, 2006 Denunciar Share Postado Setembro 20, 2006 Se desse jeito começo a contar, você tem que ver essa session("on")ela deve estar com o valor TRUE, porque aí não cai na execução do sql, por isso não contaPra que você fez esse if?Coloca um response.write Session("on") pra ver o valor armazenado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Setembro 20, 2006 Autor Denunciar Share Postado Setembro 20, 2006 Eu acho que esse tal de ON é para que o usuario ao recarregar a pagina não conte os cliques, então determinamos um valor, ou seja somente apos 10 minutos é que irá contar o click, fica mais real.Vou liberar ele e fazer uns testes.Sobre o valor armazenado, eu mostro ele na pagina dos links onde o usuario escolhe qual registro quer ver, fica em outro setor. Mas sem o IF ficou redondinho, chego a conclusão que terminamos a duvida. pra quem quizer ficou assim:Sem o tempo:<%SET Con = Server.CreateObject("ADODB.Connection")Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("arvore.mdb") id = request.querystring("id")Con.Execute("UPDATE prlist SET cliques = cliques +1 WHERE id = "&id&"")%>e com o tempo (acho)<%SET Con = Server.CreateObject("ADODB.Connection")Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("arvore.mdb") id = request.querystring("id")IF NOT Session("on") = TRUE THENCon.Execute("UPDATE prlist SET cliques = cliques +1 WHERE id = "&id&"")Session("on") = TRUESession.TimeOut = 10END IF%>Obrigado companheiro pela força.Quer ver como ficou lá na pagina? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
py2tz
Ele esta contando, mas acrescenta +1 em todos os registros, teria que ser individualmente para cada ID clicada, ou seja faz a contagem para cada registro do BD independente, esse abaixo atualiza a coluna cliques de todos os registros.
alguém pode indicar a alteração?
Obrigado
Fausto
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.