Ir para conteúdo

POWERED BY:

Arquivado

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

Patrique

Id estilo Youtube

Recommended Posts

Fala ae galera, tudo tranquilo?

 

Estou aqui montando um SAC e nele os usuários vão poder registrar tickets no sistema, mais eu gostaria que para cada chamada efetuada pelo usuário, lhe fosse passada uma ordem de chamada, que no caso seria um id que ele iria guardar para depois poder ver a resposta para seu chamada.

 

Então eu gostaria que o registro deste ticket que fosse passado para o usuário fosse mais ou menos como o id dos videos do youtube... desse jeito:

 

qBGWnMB00M8

 

Como faço para gera id que nunca se repitam nesse estilo utilizando o asp?

 

Desde já agradeço,

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce pode criar uma função que gere altomaticamente uma sequencia de x caracteres ou usar alguma ja existente

 

Mas existe risco de repetir

 

Entao antes de cadastrar testa se ja existe, se existir gera denovo senao grava

Compartilhar este post


Link para o post
Compartilhar em outros sites

Function chave_aleatoria(nQuant,ref)
	For Cont = 1 to nQuant
		Randomize
		If (Int(rnd*10) Mod 2 = 0) Then
			sRand = sRand + Chr(rnd * 25 + 97)
		Else 
			sRand = sRand + Cstr(Int(rnd * 10))
		End If
	Next
chave_aleatoria = sRand & ref
End Function

chama assim:

- chave_aleatoria(10,login)

- chave_aleatoria(10,now())

 

cria uma chave de 10 (ou qts você quiser) e o final da chave vem o login ou a data de quando foi gerada

assim nao tem como repetir

 

ou você pode juntar o login com a data

data_login = now()&"/"&login

- chave_aleatoria(10,data_login)

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, por isso eu amo este fórum!!!

 

Valew pela dica Mario!

 

E valew pela função Desisto, vou utiliza-la aqui mais vou tentar não utilizar o login pois não quero fazer ligação do id com o usuário, porém vou utilizar a sua rotina e montar uma base que será feita de acordo com o mês, dia, hora, minuto, segundo e a randomização em modo 4, dai ficaria mais ou menos assim

 

6191612328735

 

Vou também utilizar replace para trocar os valores do mês, hora, minuto por valores que ainda irei decidir.

 

Por exemplo:

 

Para as entradas do mês 6 vou dar um replace para trocar o 6 por "F" para minuto vou trocar o por exemplo o 12 por "M" para a hora vou trocar o 16 por "Q"

 

Dai o resultado que sera mandado para o bd como id é

 

FQM328735

 

Com isso mesmo que o site tenha 1 milhão de visitas na mesma hora considero impossível a repetição dos valores, mais para me prevenir do acaso vou utilizar a função do Mário, com isso vai ficar perfeito!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom, abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

é impossivel ter 2 entradas com a data igual e com um numero aleatorio de 10 digitos

01/06/2008-15:23:12

 

se a sua preocupacao é nao permitir que descubram, basta encriptar tudo antes de enviar

mete uma criptografia md5 e da um premio pra quem descobrir alguma coisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendo mais no caso do numero aleatório eu não teria total controle em trabalhar com o replace da forma que eu pensei acima, é que além do número eu gostaria que entrasse letras sacou? além disso o código ficaria muito mais leve do que se eu usasse a função md5.

 

Valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é Patrique, tirando o barramento das datas, e os dois pontos da hora, fica mais dificil da pessoa saber que tipo de geração é essa.

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.