Jump to content


Photo

Pedido De Analise - Sequencia Numerica


  • Faça o login para participar
2 replies to this topic

#1 vilao

vilao

    12 Horas

  • Usuários
  • 195 posts
  • Sexo:Não informado

Posted 09/07/2008, 18:08

O codigo:

<?

// Variaveis para Nosso Numero //

$horario = date("his"); // hora - minuto - segundo
$data = date("dmY"); // dia - mes - ano




// Variaveis para Nosso Documento //

$dm = date("dm"); // dia - mes




// Codigo Aleatorio Final

$aleatorio = rand(1,9); // variavel





// Variaveis

$nossonumero = $data.$horario.$aleatorio; // poderá ter no máximo: 15 caracteres
$documento = $dm.$horario.$aleatorio; // poderá ter no máximo: 11 caracteres


?>

Nosso Numero: <? echo $nossonumero; ?>

Numero do Dodumento: <? echo $documento; ?>


Objetivo:

Que JAMAIS, em momento algum as variaveis "nossonumero" e "documento" se repitam!

Dúvida: Será, que neste formato... Existirá a possibilidade de ocorrer alguma repetição?


Pratica;

Usuários irão se cadastrar num sistema, no ato do cadastro, serão enviadas para o banco duas variaveis de forma "oculta", que serão identificadores para aqueles usuário. Logo, de forma alguma poderão existir dois "nossonumero" iguais ou dois "documento" iguais.

Para isso, estou usando uma combinação entre dia, mes, ano, hora, minuto e segundo mais um codigo final em randon.

A ideia é que na hora que a página de cadastro abrir, o PHP faz a leitura de todos estes valores e pucha para formar a sequencia númerica.

Caso ocorra, que dois usuários exibam a página no mesmo segundo, existem a variavel randon para diferenciar.

Aguardo dicas!

Obrigado amigos.

#2 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 09/07/2008, 18:13

A chance é bem pequena, mas impossível não é...
E como dizia meu professor de lógica, só existe TRUE ou FALSE! rs... E esse é FALSE.

Digo isso porque no caso de entrar duas requisições no mesmo segundo, o seu desmpate é aleatório... ou seja... se o primeiro que entrou retornou 2, nada impede que retorne 2 na segunda vez novamente...

Você não pode simplesmente gravar os últimos números gerados e só adicionar mais um?

#3 enthroned

enthroned

    eh noizeh!

  • Usuários
  • 257 posts
  • Sexo:Não informado

Posted 10/07/2008, 08:59

não sei se entendi direito, mas nao seria o caso apenas de colocar o campo do BD como auto incremento??
=]




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq