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

Select Randomico


Henderson

Pergunta

Olá

Busquei aqui e achei uma forma de fazer select randomico

eu fiz e tal

to fazendo um sistema da banners

meu sql (liga não que está meio bagunçado)

area = Request.Querystring("area")

sql2="SELECT * FROM banner WHERE exibicoes < maxexibicoes AND cliques < maxcliques"

sql2 = sql2 & " AND estado = '"&um&"' AND area = '"&id&"'"

sql2 = sql2 & " OR exibicoes < maxexibicoes AND maxcliques = "&zero&""

sql2 = sql2 & " AND estado = '"&um&"' AND area = '"&id&"'"

sql2 = sql2 & " OR maxexibicoes = "&zero&" AND cliques < maxcliques "

sql2 = sql2 & " AND estado = '"&um&"' AND area = '"&id&"'"

sql2 = sql2 & " OR maxexibicoes = "&zero&" AND maxcliques = "&zero&" "

sql2 = sql2 & " AND estado = '"&um&"' AND area = '"&id&"' order by RND(INT(NOW*id)-NOW*id)"

aí tipo

eu salvo isso numa página

por exemplo banner.asp

aí depois na página onde eu quero colocar a publicidade eu faço assim

<iframe src = "banner.asp?area=1"></iframe>

essa parte da área não importa, é só pra dexar cada banner em um local do site, não interfere no meu problema, que é o seguinte:

se eu faço como disse:

<iframe src = "banner.asp?area=1"></iframe>

funciona normalmente

mas se por exemplo, quero colocar na parte lateral, vários banners.

aí eu coloco:

<iframe src = "banner.asp?area=1"></iframe>

<iframe src = "banner.asp?area=1"></iframe>

<iframe src = "banner.asp?area=1"></iframe>

<iframe src = "banner.asp?area=1"></iframe>

para 4 banners....

só que aparecem os 4 iguais

o que eu faço?

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

não manjo de mexer com random, mas talvez, se você passar um parametro diferente pra cada na sua consulta, tipo assim:

area = Request.Querystring("area")
sql2="SELECT * FROM banner WHERE exibicoes < maxexibicoes AND cliques < maxcliques"
sql2 = sql2 & " AND estado = '"&um&"' AND area = '"&id&"'"
sql2 = sql2 & " OR exibicoes < maxexibicoes AND maxcliques = "&zero&""
sql2 = sql2 & " AND estado = '"&um&"' AND area = '"&id&"'"
sql2 = sql2 & " OR maxexibicoes = "&zero&" AND cliques < maxcliques "
sql2 = sql2 & " AND estado = '"&um&"' AND area = '"&id&"'"
sql2 = sql2 & " OR maxexibicoes = "&zero&" AND maxcliques = "&zero&" "
sql2 = sql2 & " AND estado = '"&um&"' AND area = '"&id&"' order by RND(INT(NOW*id * " & Request.QueryString("rrr") & " )-NOW*id)"[/code] ai no iframe, você faria tipo assim:
[code]<iframe src = "banner.asp?area=1&rrr=-1"></iframe>
<iframe src = "banner.asp?area=1&rrr=0"></iframe>
<iframe src = "banner.asp?area=1&rrr=1"></iframe>
<iframe src = "banner.asp?area=1&rrr=2"></iframe>

veja se funciona;

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

não testei

mas mesmo que funcione, isso é um sistema de banner rotativo

como uma pessoa que não sabe programar, vai poder fazer as alterções necessárias?

e o que esse rrr faz?

subtrai 1 ou soma 1, 2 ou 0 ao ID ?

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, acho que tem um jeito bem mais fácil de fazer isso..

PÁGINA BANNERS.ASP

<%
Sql="SELECT * FROM banners"
Set RS = DB.Execute(Sql)
if not rs.eof then
Do Until RS.EOF or RS.BOF
IDS = Valores & RS("ID") & ","
RS.Movenext
Loop
ArraySplit = Split(Left(IDS,Len(IDS)-1),",")
Randomize
x = CInt(Rnd()*Ubound(ArraySplit))
RANID = ArraySplit(x)

Sql="SELECT * FROM publicidade WHERE id = "&RANID&""
Set rsExibe = Conexao.Execute(Sql)
%>

'html que exibe o banner

<a target="_blank" href="redireciona.asp?id=<%=rsExibe("id")%>&url=<%=rsExibe("url")%>"><img src="<%=rsExibe("imagem")%>" border="0" width="468" height="60"></a>

'conta exibições
<%Sql2 = "UPDATE banners SET visualizacoes = visualizacoes + 1 WHERE id = "&rsExibe("id")&" "
Conexao.Execute(Sql2)%>

'PÁGINA REDIRECIONA.ASP
<%id = request("id")

Sql = "UPDATE banners SET cliques = cliques + 1 WHERE id = "&id&" "
Conexao.Execute(Sql)
response.redirect ""&url&""
%>

<--ou usa html para redirecionar-->
<meta http-equiv="refresh" content="0; URL=<%=url%>">
<--fim-->

Depois coloca um <iframe src = "banners.asp></iframe> nas páginas que deseja exibir o banners

Link para o comentário
Compartilhar em outros sites

  • 0

tenta assim:

página banner.asp

<%
Sub Rnd_Banner()
Dim strSQL
Dim strBanners
Dim intCounter
Dim intID
Dim strDisplay
Dim strDefault

intCounter = 0
strDefault = "default.gif"  'AQUI você COLOCA UM BANNER DEFAULT P/ CASO DA TBLA ESTAR VAZIA!

strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("banners.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
set rs = server.createobject("adodb.recordset")

strSQL = "SELECT * FROM banners ORDER BY ID"

rs.open strSQL, conn

If not rs.EOF Then
    strBanners = rs.getrows()
    rs.movefirst
    Do While Not rs.EOF
        intCounter = intCounter + 1
        rs.movenext
    Loop
    If intCounter < 2 Then
        strDisplay = "<a href="&strBanners(2,0)&" target=new><img src="&strBanners(1,0)&"></a>"
    Else
        Randomize
        intID = Int(Rnd * intCounter)
        strDisplay = "<a href="&strBanners(2,intID)&" target=new><img src="&strBanners(1,intID)&"></a>"
    End If
Else
    strDisplay = "<img src="&strDefault&">"
End If

rs.close
set rs = nothing
set conn = nothing

Response.Write(strDisplay)

End Sub
%>
você vai chamar esta página por include
<!--#INCLUDE FILE="banner.asp"--> 
onde você quer exibir o banner você coloca:
<% Rnd_Banner() %>

Ok. qualquer coisa é só postar.

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal,

Eu estava precisando de um codigo de banner randomico e encontrei esse, mas estou com algumas duvidas:

If intCounter < 2 Then
        strDisplay = "<a href="&strBanners(2,0)&" target=new><img src="&strBanners(1,0)&"></a>"
    Else
        Randomize
        intID = Int(Rnd * intCounter)
        strDisplay = "<a href="&strBanners(2,intID)&" target=new><img src="&strBanners(1,intID)&"></a>"
    End If

Na verdade o que faz isso: ="&strBanners(2,0)&" e isso ="&strBanners(2,intID)&" , não entendi se é pauxado de um bd porque tem esses dois parametros na frente!

Obrigado!

Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...