none
sistema de banner RRS feed

  • Pergunta

  • salve gente blz bom eu desenvolvi um sistema de banner rotativos
    bom o cliente pediu para eu fazer deste jeito

    vamos supor que eu tenho 5 banners cadastro...
    ele quer que mostro 1 se atualizar a pagina mostra o 2 e assim vai indo
    e tb tem uma quantidade de quantas vezes  banner vai apareçer tipo o banner 1 tem q apareçer 2, o banner 2 tem que apareçer 3 e assim vai indo eu montei uma logica aki e funcionou certinho.......

    o meu medo é que o site pode ficar lento entao pessoal so avaliem a minha logica e comentem por favor

    'faço um select para descubrir o total de banners que atualmente é 5
    SqlT = "SELECT Count(*) As Total FROM banners"
    Set RsT = cnbanco.Execute(SqlT)

    'Faço outro select para saber o total da quantidade de impressões deste 5 banners que é 10
    SqlG = "SELECT Sum(qtd) As Total FROM banners"
    Set RsG = cnbanco.Execute(SqlG)

    'Faço uma verificação se qtd = 5 e gqtd = 10 Então eu reinicio as variaveis e começo a contar os banners deste o primeiro

    If Session("qtd") = CInt(RsT("total")) And Session("gqtd") = CInt(RsG("Total")) Then

     Session("qtd") = 0
     Session("id") = ""
     Session("v") = 0
     Session("gqtd") = 0
     
    End If

    '-------------------------------------------------------------------------

    'verifico se o ID do banner é nullo se for eu atribuo a primeira ID cadastrado a ele
    '(o Session("id") so sera  = "" quando eu reinicio o sistema ou quando eu abro pela primeira vez a pagina)

    If session("id") = "" Then
     SqlId = "SELECT id FROM banners limit 0, 1"
     Set RsId = cnbanco.Execute(SqlId)
     
     Session("id") = CInt(RsId("id"))
     
    End If

    '--------------------------------------------------------------------------
    'Aqui eu faço o select do banner

    Sql = "SELECT * FROM banners Where id = " & session("id")
    Set Rs = cnbanco.Execute(Sql)

    If Not Rs.EOF Then

     Response.Write(Rs("nome") & "<br><br>")
     
     'somo o geral quantidade + 1
     Session("gqtd") = Session("gqtd") + 1
     
     'Soma o vizualização + 1
     Session("v")  = Session("v") + 1
     
     'Aqui eu verifico se a vizualização = qtd (é a quantidade determinada por cada Banner pode ser 1, 2, 3 e ect) 
     If session("v") = CInt(Rs("qtd")) Then
      
      'eu atribuo o session ID = ao registro atual + 1 fazendo ele pular para o proximo campo
      session("id")  = CInt(Rs("id")) + 1
      
      'atribuo o vizualição = 0 para contar para o proximo banner
      session("v") = 0
      
      'atribuo a quantidade + 1 que é a quantidade de banners que no total = 5
      Session("qtd")  = Session("qtd") + 1  
      
     End If
     
    End If

    quinta-feira, 28 de setembro de 2006 12:23

Todas as Respostas

  • Se é pra avaliar:

    Se está funcionando está ótimo hehe
    Usar sessão é interessante, porém, se você tivesse mais de uma página com banners, fossem os mesmos ou não, teria alguns problemas.

    Continuando a avaliação: estude um pouco de gramática =)

    Abraços, Mauro Bellotti

    quinta-feira, 28 de setembro de 2006 18:12