Jump to content
Fórum Script Brasil
  • 0

Gerar Codigos Automaticos


pukurucha
 Share

Question

E AI GALERA, alguém ME AJUDA AQUI?

Tenho um formulario feito em php e dentro dele tenho um campo text codProduto e gostaria que ele gerasse códigos automaticos cada vez que se fizesse o load da pagina. Esse campo poderia ser do tipo char, por exemplo: P0011, fosse o primeiro valor e, de seguida fossem criados codigos automaticamente, tipo: P0012, P0013, P0014... para posteriormente com o submite, se inserir na base de dados(mysql)

Desde já agradeço

Edited by pukurucha
Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

funçãozinha básica do próprio manual do php para gerar numeros aleatorios...

function make_seed() {

list($usec, $sec) = explode(' ', microtime());

return (float) $sec + ((float) $usec * 100000);

}

$codigo = srand(make_seed());

O problema é que pode acontecer de gerar um código que já existe... o que você pode fazer é criar um campo autonumeração no banco de dados... quando você fizer o insert, ele já incrementa automaticamente...

Link to comment
Share on other sites

  • 0

Você pode criar um campo INT no database e consultá-lo sempre que for adicionar um novo produto, assim você saberá qual é o último código e poderá adicionar mais "1" a ele.

Junto, nessa tabela, além do ID, poderia ter o código em sí, e para salvá-lo, basta pegar o resultado da ID e adicionar o P antes.

Link to comment
Share on other sites

  • 0
Bom galera, não é bem isso que to querendo... Quero que o código já apareça no campo "codProduto", automaticamente ao fazr o load da página e seje um código gerado sequencilmente, se possivel: P0012, P0013... alguém me ajuda?

faz assim

pega do banco o ultimo registro de codigo e na hora de inserir o novo você poe insert into ... (codigo,...) values ('.$_cod+=1.',...)

----------------

($_cod=$_cod+1) = $_cod+=1;

------------

acho que é isso que você quer..

Link to comment
Share on other sites

  • 0

Tem, usa o RAND para gerar o código, só que você vai ter que verificar no BD se já não existe um código igual, se não existir pega o código gerado e dá um echo no atributo value do input...

Link to comment
Share on other sites

  • 0

Mas se é P00001, P00002, P00003, só os números mudam, a letra é fixa, coloque o rand pra sortear os números e depois coloque a letra na frente... e outra coisa, você quer sequencial ou aleatório, pois parece mais sequencial... e ai não precisa de RAND...

Ps.: O RAND suporta letras também...

Link to comment
Share on other sites

  • 0

Se o número vai ser sequencial, porque você simplesmente não usa o auto_increment do MySQL? Assim tem certeza de que sempre vai ter um número diferente, é claro, não dá pra usar letras, apenas números... e também não dá pra saber o número antes de ser inserido o registro na tabela... mas depois sim.

Se quiser fazer da maneira que prente, pesquisa por fopen, fread, fwrite, fclose... isso vai permitir que você guarde o número em um arquivo txt e toda vez que precisar leia o arquivo e coloque o número no form com a letra que quiser na frente...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...