Ir para conteúdo
Fórum Script Brasil
  • 0

Logica De Banner


tsarri

Pergunta

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

Link para o comentário
Compartilhar em outros sites

1 resposta 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...