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
Pergunta
tsarri
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 IfLink 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.