Ir para conteúdo

POWERED BY:

Arquivado

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

Helinho Coelho

Problemas no Randonize MySQL+ASP

Recommended Posts

Olá estou querendo fazer um banner rotativo com o código abaixo mas não consigo fazer funcionar em função do "Conjunto de linhas não oferecer suporte para busca regressiva". Segue abaixo o código para alguém me dizer onde estou errando.

 

<%
Dim RSbanner
Dim RSbanner_cmd
Dim RSbanner_numRows

Set RSbanner_cmd = Server.CreateObject ("ADODB.Command")
RSbanner_cmd.ActiveConnection = conexao
RSbanner_cmd.CommandText = "SELECT * FROM mysql.banners" 
RSbanner_cmd.Prepared = true

Set RSbanner = RSbanner_cmd.Execute
RSbanner_numRows = 0



Response.Expires = -1000

Dim rndMax,rndNumber

rndMax = CInt(RSbanner.RecordCount)
RSbanner.MoveFirst
Randomize Timer
rndNumber = Int(RND * rndMax) 
RSbanner.Move rndNumber

response.write "<a href='" & RSbanner("link") & "' target='_blank'><img border=0 width='190' height='390' src='img\banners\" & RSbanner("foto") & "'></a>"



RSbanner.Close()
Set RSbanner = Nothing
%>

 

O erro está apontando para a linha 23 "RSbanner.Move rndNumber". O quê devo fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisei de algo semelhante, e resolvi assim:

sql= "SELECT * FROM tabela ORDER BY Rand() limit 0,10"

 

Note que o limit coloquei para limitar quantos registros queria, para com o resultado, poder depois usar um efeito com jquery.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ianni,

 

Fiz de acordo com as suas instruções e deu certo. O random funciona perfeitamente, porém os resultados não ficam alternando como se fosse um banner e sim somente mudam a cada atualizada de página. Mas está bom assim, valeu! Então o meu código ficou da seguinte forma:

 

<%
Dim RSbanner
Dim RSbanner_cmd
Dim RSbanner_numRows

Set RSbanner_cmd = Server.CreateObject ("ADODB.Command")
RSbanner_cmd.ActiveConnection = conexao
RSbanner_cmd.CommandText = "SELECT * FROM mysql.banners ORDER BY Rand() limit 0,10" 
RSbanner_cmd.Prepared = true

Set RSbanner = RSbanner_cmd.Execute
RSbanner_numRows = 0


response.write "<a href='" & RSbanner("link") & "' target='_blank'><img border=0 width='190' height='390' src='img\banners\" & RSbanner("foto") & "'></a>"


RSbanner.Close()
Set RSbanner = Nothing
%>

 

Muito obrigado pela dica!

 

P.S. O limit que você estipulou "0,10" quer dizer que serão somente randonizados 10 registros, é isso? E me perdoe, mas não entendi a parte de tratar efeito com Jquery.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que funcionou !!

 

Eu coloquei o limit, pois usei esse code num jquery que alterna as imagens e descrições de alguns produtos num certo intervalo, um slideshow, como queria algo simples, peguei um script em jquery ao invés de flash (em que é possivel fazer as mesma coisa, mas o projeto tem algumas limitações quanto ao uso de flash), e o adaptei para poder pegar os dados do banco de dados ao invés de algumas imagens no determinado diretório.

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.