Ir para conteúdo

Arquivado

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

freddys_

Gerar código

Recommended Posts

Pessoal, preciso do seguinte:Tenho 1 variável($id) que recebe uma sequência de números, 00000000 (8 números). Vou usar esse número como id pra um cadastro. Então preciso que o PHP faça a consulta na tabela, se o nº já tiver cadastrado, gerar novamente o número randomizado, e fazer a verificação novamente, até que não coincida, com os números já cadastrados. Se o nº ainda não estiver já cadastrado, aí faz o cadastro normalmente. Tentei montar o script mas não tive muito sucesso:<? function gera_cod(){$v1 = rand(1,9);$v2 = rand(1,9);$v3 = rand(1,9);$v4 = rand(1,9);$v5 = rand(1,9);$v6 = rand(1,9);$v7 = rand(1,9);$v8 = rand(1,9); $id = $v1.$v2.$v3.$v4.$v5.$v6.$v7.$v8; echo $id;}$pega_id = gera_cod();include "conn.php";$sql_busca = mysql_query("SELECT id FROM cadastro", $db_conn); while($reg = mysql_fetch_array($sql_busca)){ $id = $reg["id"]; if ($pega_id != $id){ $id_livre = $pega_id; }} ?>Se alguém puder ajudar, desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

freddys, primeiramente, bem-vindo ao fórum http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Para id de cadastros, recomendo que utilize um campo sequencial mesmo, com campo AUTO_INCREMENT. Assim você não precisa se preocupar com a repetição, e pode ainda preenchê-los com zero à esquerda.

 

[]s

Anderson Mello

Compartilhar este post


Link para o post
Compartilhar em outros sites

freddys, primeiramente, bem-vindo ao fórum http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Para id de cadastros, recomendo que utilize um campo sequencial mesmo, com campo AUTO_INCREMENT. Assim você não precisa se preocupar com a repetição, e pode ainda preenchê-los com zero à esquerda.[]sAnderson Mello

Obrigado pelas boas vindas!E obrigado, pela dica, mas como posso implementar isso, pra usar zero à esquerda.Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só usar a propriedade ZEROFILL do próprio campo ;)[]sAnderson Mello

Usei, mas os id ficam 00000001, 00000002, 00000003. Queria uma sequencia de numeros aleatórios, com muitos zeros fica muito estranho... tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, tem como, mas o objetivo seria diferente.Recomendo usar o id para identificação do REGISTRO no banco. Normalmente, nem zerofill utilizo.Se você precisa então de um código para o pedido, use um outro campo (codigo), onde você poderia gerar um número de identificação juntamente com o código do cliente, por exemplo.Isso vai depender muito de como você irá estruturar e organizar o sistema ;)[]sAnderson Mello

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, tem como, mas o objetivo seria diferente.Recomendo usar o id para identificação do REGISTRO no banco. Normalmente, nem zerofill utilizo.Se você precisa então de um código para o pedido, use um outro campo (codigo), onde você poderia gerar um número de identificação juntamente com o código do cliente, por exemplo.Isso vai depender muito de como você irá estruturar e organizar o sistema ;)[]sAnderson Mello

Pois vou criar uma url, que através do $_GET, vai fazer a consulta do usuário, e mostrar os dados de registro dele, nesse caso ficaria www.site.com/id=00000002, por exemplo. Aí um curioso ficaria digitando a sequencia e vendo, sem necessidade os dados dos outros...Na verdade queria fazer assim:Um link que faria busca por id tipo: www.site.com/id/00000002 e um link que faria busca pelo apelido tipo www.site.com/id/freddysDesde já agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia isso!http://forum.imasters.com.br/index.php?showtopic=203965

www.site.com/id=00000002, por exemplo. Aí um curioso ficaria digitando a sequencia e vendo, sem necessidade os dados dos outros...

sobre o texto acima isso pode ajudar um pouco.veja!base64_decode()base64_encode() http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.