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

(Resolvido) Problema com banner rotativo.


dcoder

Pergunta

Boa noite pessoal,

Tenho ese codigo de uma banner rotativo:

<%          
Set conexaodb = Server.CreateObject("ADODB.Connection")          
conexaodb.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("banco/dados.mdb") & ";Persist Security Info=False"                                                          
countsql = "select count(*) as cod From cat"                                                          
set rs1 = conexaodb.execute(countsql)                                                                                                   
IF rs1("cod") <> 0 Then                                                                                                                        
SQL = "SELECT * FROM cat"                                                             
set rs3 = conexaodb.execute(SQL)                                                                
Randomize                 
rs3.Move (Int(rs1("cod") * Rnd))          
%>
Para exibição fiz assim:
<a href="visualizar_emp.asp?cod=<%=rs3("cod")%>" class="texto"><img src="<%=rs3("banner1")%>" alt="<%=rs3("nome")%>"  width="120" height="60" border="0" /> </a>

Ele está exibindo todas as imagens cadastrada em meu banco, gostaria de colocar um limite exibindo 12 banners.

Como faço essa modificação no script ?

Obrigado pessoal.

Editado por dcoder
Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

valeu cara mais não funfou.

A cada atualização que dou ele exibe uma quantidade de banners diferente, dou f5 e mostra 2 atualizo de novo mostra 5.

Ta doidao isso aqui....

Queria que mostrasse 12 imagens e a cada atualização elas mudassem dentro dessas 12 imagens..

tentei assim tambem:

select * from cat where cat < 12

nd também..

Editado por Jonathan Queiroz
Link para o comentário
Compartilhar em outros sites

  • 0

Ok,

Ficou assim:

select top 12 cod, banner1 from cat
Não deu nenhum erro, a query exibiu valores aleatorios como, 5 banner, 2 banners e assim por diante. Não ficou um valor de 12 banners fixo. ..... Modifiquei novamente ficando assim:
countsql = "select top 12 count (*) as cod from cat order by banner1"    
set rs1 = conexaodb.execute(countsql)                                                                                                   

IF rs1("cod") <> 0 Then                                                                                                                                  
SQL = "SELECT * FROM cat"                                                             
set rs3 = conexaodb.execute(SQL)                                                                
Randomize                 
rs3.Move (Int(rs1("cod") * Rnd))          

%>
linha 16:
set rs1 = conexaodb.execute(countsql)

Editado por dcoder
Link para o comentário
Compartilhar em outros sites

  • 0

Deu certo mais deu outro probleminha, veja bem:

countsql = "select * From cat where cod"   
                                                                    
set rs1 = conexaodb.execute(countsql)                                                                                                   


IF rs1("cod") <> 0 Then                                                                                                                                   
SQL = "SELECT top 12 * FROM cat"                                                             
set rs3 = conexaodb.execute(SQL)                                                                
Randomize                 
rs3.Move (Int(rs1("cod") * Rnd))          

%>

Está exibindo 12 imagens como eu queria porém não está randomizandoos outros registros somente os 12 primeiros.

Tenho cerca de 40 registro no bd o random teria que acontecer dentre todos ....

Luz aee..

Link para o comentário
Compartilhar em outros sites

  • 0
ninguém mesmo ????
dcoder, peço que evite a postagem de up's conforme a regra 3.8 (ver regras)
3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.

Veja esse link: http://scriptbrasil.com.br/forum/index.php?showtopic=69208

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pessoal,

tentei fazer dessas maneiras mais quando atualizo a página muitas das vezes os registro se repetem olha meu codigo modificado:

<%
'bloco para exibição do 1° banner
countsql = "select count (*) as cod from cat "
set rs1 = conexaodb.execute(countsql)                                                                                                   
IF rs1("cod") <> 0 Then                                                                                                                                   
SQL = "SELECT * FROM cat"                                                             
set rs3 = conexaodb.execute(SQL)                                                                
Randomize                 
valor1 = rs3.Move (Int(rs1("cod") * Rnd))          
                                                         


'bloco para exibição do 2° banner
query2 = "select count (*) as cod from cat "
set banner2 = conexaodb.execute(query2)                                                                                                   
IF banner2("cod") <> rsl Then                                                                                                                                   
query_2 = "SELECT * FROM cat"                                                             
set recset2 = conexaodb.execute(query_2)                                                                
Randomize                 
recset2.Move (Int(banner2("cod") * Rnd))          
         


'bloco para exibição do 3° banner
query3 = "select count (*) as cod from cat "
set banner3 = conexaodb.execute(query3)                                                                                                   
IF banner3("cod") <> banner4 Then                                                                                                                                   
query_3 = "SELECT * FROM cat"                                                             
set recset3 = conexaodb.execute(query_3)                                                                
Randomize                 
recset3.Move (Int(banner3("cod") * Rnd))          
  


'bloco para exibição do 4° banner
query4 = "select count (*) as cod from cat "
set banner4 = conexaodb.execute(query4)                                                                                                   
IF banner4("cod") <> banner5 Then                                                                                                                                   
query_4 = "SELECT * FROM cat"                                                             
set recset4 = conexaodb.execute(query_4)                                                                
Randomize                 
recset4.Move (Int(banner4("cod") * Rnd))          



'bloco para exibição do 5° banner
query5 = "select count (*) as cod from cat "
set banner5 = conexaodb.execute(query5)                                                                                                   
IF banner5("cod") <> banner6 Then                                                                                                                                   
query_5 = "SELECT * FROM cat"                                                             
set recset5 = conexaodb.execute(query_5)                                                                
Randomize                 
recset5.Move (Int(banner5("cod") * Rnd))          



'bloco para exibição do 6° banner
query6 = "select count (*) as cod from cat "
set banner6 = conexaodb.execute(query6)                                                                                                   
IF banner6("cod") <> banner7 Then                                                                                                                                   
query_6 = "SELECT * FROM cat"                                                             
set recset6 = conexaodb.execute(query_6)                                                                
Randomize                 
recset6.Move (Int(banner6("cod") * Rnd))          
  


'bloco para exibição do 7° banner
query7 = "select count (*) as cod from cat "
set banner7 = conexaodb.execute(query7)                                                                                                   
IF banner7("cod") <> banner8 Then                                                                                                                                   
query_7 = "SELECT * FROM cat"                                                             
set recset7 = conexaodb.execute(query_7)                                                                
Randomize                 
recset7.Move (Int(banner7("cod") * Rnd))          



'bloco para exibição do 8° banner
query8 = "select count (*) as cod from cat "
set banner8 = conexaodb.execute(query8)                                                                                                   
IF banner8("cod") <> banner9 Then                                                                                                                                   
query_8 = "SELECT * FROM cat"                                                             
set recset8 = conexaodb.execute(query_8)                                                                
Randomize                 
recset8.Move (Int(banner8("cod") * Rnd))          



'bloco para exibição do 9° banner
query9 = "select count (*) as cod from cat "
set banner9 = conexaodb.execute(query9)                                                                                                   
IF banner9("cod") <> banner10 Then                                                                                                                                   
query_9 = "SELECT * FROM cat"                                                             
set recset9 = conexaodb.execute(query_9)                                                                
Randomize                 
recset9.Move (Int(banner9("cod") * Rnd))          



'bloco para exibição do 10° banner
query10 = "select count (*) as cod from cat "
set banner10 = conexaodb.execute(query10)                                                                                                   
IF banner10("cod") <> banner11 Then                                                                                                                                  
 query_10 = "SELECT * FROM cat"                                                             
set recset10 = conexaodb.execute(query_10)                                                                
Randomize                 
recset10.Move (Int(banner10("cod") * Rnd))          



'bloco para exibição do 11° banner
query11 = "select count (*) as cod from cat "
set banner11 = conexaodb.execute(query11)                                                                                                   
IF banner11("cod") <> banner12 Then                                                                                                                                   
query_11 = "SELECT * FROM cat"                                                             
set recset11 = conexaodb.execute(query_11)                                                                
Randomize                 
recset11.Move (Int(banner11("cod") * Rnd))          



'bloco para exibição do 12° banner
query12 = "select count (*) as cod from cat "
set banner12 = conexaodb.execute(query12)                                                                                                   
IF banner12("cod") <> 0 Then                                                                                                                                   
query_12 = "SELECT * FROM cat"                                                             
set recset12 = conexaodb.execute(query_12)                                                                
Randomize                 
recset12.Move (Int(banner12("cod") * Rnd))          
%>



<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
-->
</style></head>

<body>
<table width="120" border="0" cellspacing="3" cellpadding="0">
  <tr>
    <td><div align="center">Anunciantes</div></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=rs3("cod")%>" class="texto"><img src="<%=rs3("banner1")%>" alt="<%=rs3("nome")%>"  width="120" height="60" border="0" /> </a>  </td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset2("cod")%>" class="texto"><img src="<%=recset2("banner1")%>" alt="<%=recset2("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset3("cod")%>" class="texto"><img src="<%=recset3("banner1")%>" alt="<%=recset3("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset4("cod")%>" class="texto"><img src="<%=recset4("banner1")%>" alt="<%=recset4("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset5("cod")%>" class="texto"><img src="<%=recset5("banner1")%>" alt="<%=recset5("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset6("cod")%>" class="texto"><img src="<%=recset6("banner1")%>" alt="<%=recset6("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset7("cod")%>" class="texto"><img src="<%=recset7("banner1")%>" alt="<%=recset7("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset8("cod")%>" class="texto"><img src="<%=recset8("banner1")%>" alt="<%=recset8("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset9("cod")%>" class="texto"><img src="<%=recset9("banner1")%>" alt="<%=recset9("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset10("cod")%>" class="texto"><img src="<%=recset10("banner1")%>" alt="<%=recset10("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset11("cod")%>" class="texto"><img src="<%=recset11("banner1")%>" alt="<%=recset11("nome")%>"  width="120" height="60" border="0" /> </a></td>
  </tr>
  <tr>
    <td><a href="visualizar_emp.asp?cod=<%=recset12("cod")%>" class="texto"><img src="<%=recset12("banner1")%>" alt="<%=recset12("nome")%>"  width="120" height="60" border="0" /> </a></td>


  </tr>
</table>
</body>
</html>

olha a gambiarra que acabei fazendo.. acho que tenho que colocar ifs para destinguir as querys mais ta osso...

obrigado mais uma vez..

Link para o comentário
Compartilhar em outros sites

  • 0

Essa repetição ocorre simplesmente porque voce está buscando registros aleatoriamente, mas não fez nada para impedir que os registros da página anterior se repitam.

O ideal é montar uma página que contenha uma paginação. Assim o usuário terá controle maior dos registros que quer acessar e poderá chegar mais facilmente ao resultado esperado se ele souber a página em que se encontra.

Link para o comentário
Compartilhar em outros sites

  • 0

Como posso empedir essa repetição então utilizando esse meu código ?

Teria como ?

veja este site:

www.diskentregafacil.com

estou tentando fazer uma coluna dessa da direita com os banners...

Editado por dcoder
Link para o comentário
Compartilhar em outros sites

  • 0

Onde está o exemplo nesse site ?

De qualquer forma, imaginei que você não quisesse a repetição de registros mesmo após a atualização da página, mas acho que não é isso.

Para o que você quer basta criar uma única query e utilizar um loop para percorrer todos os registros

query="..."
set rs=conexao.execute(query)
do while not rs.eof
response.write("Nome do registro: " & rs("nome") & "<br>")
loop

Link para o comentário
Compartilhar em outros sites

  • 0

Assim mais ou menos:

sql="select * from cat order by RND(INT(NOW*cod)-NOW*cod)"                                                             
set rs3 = conexaodb.execute(SQL)

desculpe a ignorancia não sou expert no assunto, é que falta somente isso para concluir o meu portal e estou quebrando a cuca cara, já tentei de várias maneiras, talvez eu não estou explicando tão bem assim oque eu quero.

vai ficar assim:

banner1

banner2

banner3

.

.

.

.

.no total de 12 banners sendo que no bd tem uns 40 registros..vou mostrar os 40 aleatoriamente dentro desses 12 que quero exibir..

De qualquer maneira fico grato pela atenção ae.

Editado por dcoder
Link para o comentário
Compartilhar em outros sites

  • 0
Onde está o exemplo nesse site ?

De qualquer forma, imaginei que você não quisesse a repetição de registros mesmo após a atualização da página, mas acho que não é isso.

Para o que você quer basta criar uma única query e utilizar um loop para percorrer todos os registros

query="..."
set rs=conexao.execute(query)
do while not rs.eof
response.write("Nome do registro: " & rs("nome") & "<br>")
loop
Fala ae cara, consegui !!!! Obrigado mesmo! ficou assim a minha query:
sql="select top 12 * from cat order by RND(INT(NOW*cod)-NOW*cod)"                                                             
set rs3 = conexaodb.execute(SQL)
e para a exibição:
<a href="visualizar_emp.asp?cod=<%=rs3("cod")%>" class="texto"><img src="<%=rs3("banner1")%>" alt="<%=rs3("nome")%>"  width="120" height="60" border="0" />

Obrigado ae pela Paciência e pela colaboração....

abraços! :D

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...