Ir para conteúdo

POWERED BY:

Arquivado

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

d.eleete

Mensagens Randômicas

Recommended Posts

Ae pessoal segue um sisteminha q eu desenvolvi agora que randomiza o valor de um campo (em mySQL), bem simples de se compreender!

 

<%@LANGUAGE="VBSCRIPT"%><%'---------------------------------------------------' Sistema de Registros Randômicos em MySQL / ASP' Desenvolvido por: Douglas T.M. Silva' E-mail/msn (ñ é suporte): deleeteweb@hotmail.com'---------------------------------------------------var_NomeTabela = "tbl_teste"var_NomeCampo = "msg" 'Campo que terá os registros randomizados!'Conexao com banco de dados:var_NomeDB = "bancomsg"var_ServidorDB = "localhost"'--var_UsuarioDB = "root"var_SenhaDB = ""'--Set conexao = Server.CreateObject("ADODB.Connection")str_conex = "DRIVER=MySQL ODBC 3.51 Driver;DATABASE="&var_NomeDB&";SERVER="&var_ServidorDB&";UID="&var_UsuarioDB&";PASSWORD="&var_SenhaDB&";"conexao.open str_conex' Criando o recordset:set rs = server.CreateObject("ADODB.RecordSet")rs.CursorLocation = 3'adUseClientrs.CursorType = 3'adOpenStatic' Contando o Número de Registros:sql = "SELECT COUNT(*) AS count FROM "&var_NomeTabelars.Open sql, conexaovar_nReg = int(rs("count"))rs.Close' Escolhendo o registro randomizado:randomizevar_Random =  int( (var_nReg * Rnd()) +1 ) -1' Selecionando o valor do campo randomizado:sql = "SELECT "&var_NomeCampo&" FROM "&var_NomeTabela&" LIMIT "&var_Random&",1"rs.Open sql, conexaovar_Show = rs(var_NomeCampo) rs.Close'Destruindo conexao e recordset:set rs = nothingset conexao = nothing%><html><body>O texto randomizado foi:<br><br><strong><%=var_Show%></strong></body></html>

 

Falooow! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma outra forma de fazer, so q usando a função nativa do MySQL: "RAND()" ... diminui o processamento do server e diminui o ´código tb...

 

sql = "SELECT * FROM tabela ORDER BY RAND(*) LIMIT 1"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma forma para qualquer banco de dados é selecionar todos os registros do banco e guardar em um array, dar um Randon de 0 até o total de arrays e imprimir o array sorteado!!!Além de funcionar em qualquer banco, acessa só uma vez o BD e diminui o codigo tbm!

O problema bikezcleta eh a memoria que esta array vai consumir do web server..., por isso eh importante abusar das funções do banco de dados..P.s.: Valeu ska_ska, essa função caiu do céu ein!

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae d.eleete, blza kra?

 

seguinte, preciso de uma ajuda sua, já que voce postou esse codigo vou aproveitar e pedir uma ajuda sua.

 

Tenho um site e nele tenho um sistema de noticias on-line, neste sistema esta divido por categoria as noticias, e quando elas exibem na pagina inicial por exemplo, elas tem um limite de exibição, so pode exibir 5 por categoria, e conforme eu for inclunindo, a antiga vai caindo para uma pagina anterior.

 

Bom minha dúvida na verdade é a seguinte......como faço para por neste sistema de noticias um esquema desse de randonizar?

 

o site do meu projeto é ESSE verifique na pagina inicial um pouco abaixo na categoria informatica, repare que quando voce clicar em qualquer noticia dessa categoria, ela abrirá uma pagina secundaria comas noticias anteriores abaixo do corpo da noticia clicada.

 

Seria na pagina inicial que eu queria colocar este codigo.

 

Como faço isso???

 

 

 

Abraços

 

 

 

Paulo Cardoso

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas paulo, todo e qualquer sistema de news deve seguir um esquema cronologico .. deve estar ordenado por data e hora .. não acho correto você randomizar isso... compreende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra isso é verdade, eu nao tinha se quer pensado nisso, mas refletindo eu compreendo perfeitamente voce.AbraçosPaulo Cardoso

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.