Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kaplan

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 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 é 5SqlT = "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 é 10SqlG = "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 primeiroIf 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 bannerSql = "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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Kaplan!Não analisei profundamente a sua lógica, mas me parece que, se a sua conexão com o banco for rápida, e o volume de banners não crescer desesperadamente (rs) você não terá problemas com performance.Entretanto, me parece que você praticamente recriou o AdRotator, não? Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.