Ir para conteúdo

POWERED BY:

Arquivado

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

bimpercursso

[Resolvido]  com loop

Recommended Posts

ai pessoal, tenho uma duvida auqi de como fazer uma logica aqui, vejam se conseguem me ajudar

 

 

tenho um insert para fazer, mas antes de dar o insert eu rodo um RANDOMIZE para gerar um numero aleatorio e gravo no insert, mas antes verifico se esse numero aleatorio gerado ja existe no banco, se existir eu tenho que rodar novemente o randomize

 

 

'CRIA UM NUMERO DE IDENTIFICAÇÃO PARA O USUARIO
'-----------------------------------------------------
RANDOMIZE
						
menor = 1
maior = 9999999
sorteado = Int((maior-menor+1)*Rnd+menor)

	
'VERIFICA SE EXISTE ESSE NUMERO DE IDENTIFICAÇÃO
'-----------------------------------------------------
sql="select personagem from tb_usuarios where identificacao="& sorteado
set verifica_personagem = conexao.execute(sql)				
						
						
if verifica_personagem.eof then
	cadastrado=year(date())&"-"&month(date())&"-"&day(time())&" "&hour(time())&":"&minute(time())&":000"
						
	'INSERT
	'--------------------------------
	sql="Insert into tb_usuarios(tipos_usuarios_id, classes_id, nome, email, personagem, login, senha, cadastrado, identificacao, ativo) values(2, "& request("classe") &", '"& trim(nome) &"', '"& trim(email) &"', '"& trim(personagem) &"', '"& trim(login) &"', '"& trim(senha) &"', '"& cadastrado &"', "& sorteado &", 1)"
	set cria_personagem = conexao.execute(sql)				
					
					
	'SELECIONA O RESPECTIVO USUARIO CADSATRADO NO MOMENTO
	'-----------------------------------------------------
	sql="select usuarios_id from tb_usuarios where identificacao="& sorteado &" order by usuarios_id desc"
	set ultimo_usuario = conexao.execute(sql)				
	
	'outro insert
	'--------------------------------
	sql="Insert into tb_atributos(usuarios_id, nivel, experiencia, vida, forca, inteligencia, agilidade, mira, tiro, ativo) values("& ultimo_usuario("usuarios_id") &", 1, 0, 30, 10, 10, 10, 10, 10, 1)"
	set cria_atributo = conexao.execute(sql)
	ok=1
	msg="Conta criada com sucesso, faça o login e se divirta."
	
end if

o codigo esta certinho já, apenas gostaria que quando ele encontrasse o numero aleatorio ja na tabela ele fazia outro random para pegar outro numero antes de inserir.

 

acho qeu devo fazer algum loop ai denttro

alguem tem alguma sugestao

 

http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazer de uma forma aqui, vejam como eu solucionei o problema

 

for x=1 to 9999999
						
							'CRIA UM NUMERO DE IDENTIFICAÇÃO PARA O USUARIO
							'-----------------------------------------------------
							RANDOMIZE
							
							menor = 1
							maior = 9999999
							sorteado = Int((maior-menor+1)*Rnd+menor)
						
							sql="select identificacao from tb_usuarios where identificacao="& sorteado
							set verifica_numero = conexao.execute(sql)
							
							if verifica_numero.eof then exit for
							
						next

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%
'CRIA UM NUMERO DE IDENTIFICAÇÃO PARA O USUARIO
'-----------------------------------------------------
RANDOMIZE
						
menor = 1
maior = 9999999
sorteado = Int((maior-menor+1)*Rnd+menor)

	
'VERIFICA SE EXISTE ESSE NUMERO DE IDENTIFICAÇÃO
'-----------------------------------------------------
sql="select personagem from tb_usuarios where identificacao="& sorteado
set verifica_personagem = conexao.execute(sql)

 

if	 verifica_personagem("identificacao") = sorteado then
		 RANDOMIZE
						
menor = 1
maior = 9999999
sorteado = Int((maior-menor+1)*Rnd+menor)
				  end if

 

if verifica_personagem.eof then


	cadastrado=year(date())&"-"&month(date())&"-"&day(time())&" "&hour(time())&":"&minute(time())&":000"
						
	'INSERT
	'--------------------------------
	sql="Insert into tb_usuarios(tipos_usuarios_id, classes_id, nome, email, personagem, login, senha, cadastrado, identificacao, ativo) values(2, "& request("classe") &", '"& trim(nome) &"', '"& trim(email) &"', '"& trim(personagem) &"', '"& trim(login) &"', '"& trim(senha) &"', '"& cadastrado &"', "& sorteado &", 1)"
	set cria_personagem = conexao.execute(sql)				
					
					
	'SELECIONA O RESPECTIVO USUARIO CADSATRADO NO MOMENTO
	'-----------------------------------------------------
	sql="select usuarios_id from tb_usuarios where identificacao="& sorteado &" order by usuarios_id desc"
	set ultimo_usuario = conexao.execute(sql)				
	
	'outro insert
	'--------------------------------
	sql="Insert into tb_atributos(usuarios_id, nivel, experiencia, vida, forca, inteligencia, agilidade, mira, tiro, ativo) values("& ultimo_usuario("usuarios_id") &", 1, 0, 30, 10, 10, 10, 10, 10, 1)"
	set cria_atributo = conexao.execute(sql)
	ok=1
	msg="Conta criada com sucesso, faça o login e se divirta."
	
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao xanburzum, da forma que você fez ele iria procurar por apenas mais uma vez no banco o numero sorteado, mas eu fiz em loop que fica procurando ate ele encontrar algum numero que ele nao ecnotre cadastrado no banco

 

veja, eu coloqeui acima da sua resposta,auqi funcionou normal, sera que tem algum erro ainda ali em cima,aparentemente aqui nao deu problema, tudo tranquilo

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode coloca-lo dentro de um while o verifica_personagem("identificacao") = sorteado

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.