Sign in to follow this  
tsarri

Logica De Banner

Recommended Posts

salve gente beleza 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 também tem uma quantidade de quantas vezes banner vai apareçer tipo o banner 1 tem que apareçer 2, o banner 2 tem que apareçer 3 e assim vai indo eu montei uma logica aqui e funcionou certinho.......

o meu medo é que o site pode ficar lento então 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

Share this post


Link to post
Share on other sites

eu não analisei seu cod... mais tipo se ficar meio lento poe ele em um ifame....

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this