Random ASP

ti17

Power Member
Boas, queria saber como faço para sortear um registo de uma base de dados.

Estou a fazer uma página em ASP.
Podem ver a página aqui http://joaofvr.ti400.net

Na minha página inicial, começa a mostrar coisas da base de dados, mas eu não quero que sejam sempre as mesmas. gostava que sempre que fosse a página, ela sorteava um registo da base de dados e ponha lá.
É este o meu problema.
Espero me ter explicado bem.

Obrigado e cumprimentos
 
Uma vez que não forneces muita informação acerca do problema, vou assumir que estás a usar o SQL Server, e pretendes obter um registo aleatório de uma tabela. Para tal, podes utilizar o seguinte:

Código:
SELECT TOP 1 * FROM tabela
ORDER BY NEWID()

Caso utilizes MySQL, basta utilizares a função RANDOM() ao invés de NEWID(). Nota também que isto não é a maneira mais eficiente de se obter um registo aleatório, mas é sem dúvida a mais simples de implementar. No entanto, os problemas de performance só deverão ser considerados se tiveres um número elevado de registos na tabela (>> 100000).

Espero que ajude.
 
Nãofunciona, estou a utilizar o access, e o sql do access não tem essa função.

Não sabes outra maneira??
 
Fazes um query a tabela para te devolver todos os IDs que existem e guardas num array.

Vês quantos valores tem o array.

Geras um numero aleatorio entre 0 e num_valores_array - 1 (vê aqui como fazer: http://www.asp101.com/samples/viewasp.asp?file=random_number.asp)

Fazes a pesquisa pelo registo com o ID que esta na posicao do numero aleatorio que obtiveste.


Se os IDs forem todos consecutivos podes simplificar o codigo um bocado mas acho que assim tens uma solução mais genérica e que funciona sempre independentemente da base de dados que usas.
 
Back
Topo