Ir para conteúdo
Fórum Script Brasil
  • 0

Numeração de protocolo sequencial


Moacir Guilherme Filho

Pergunta

Olá, possuo um formulário PHP para inserir em uma tabela no banco MySQL. Preciso criar uma função (PHP ou JAVA) semelhante ao "auto increment" para preencher um campo na minha tabela no banco que seja semelhante a isso, quando for inserindo: 0001/2020, 0002/2020, 0003/2020, porém ao virar o ano a numeração tem que zerar, ficando assim: 0001/2021, 0002/2021, 0003/2021. Formulário chama "cad_ocorrencia.php", o banco "sisgcm", a tabela "atendimento" e o campo da tabela "numero_ocorrencia". No MySQL a tabela está assim: atendimento (id_atentidmento, numero_ocorrencia, datainicio e hora inicio). Obs: A função tem que funcionar como o auto increment porque o sistema será usado por mais de uma pessoa e se a função fizer a consulta no banco na hora que o formulário for aberto, poderá causar duplicidade de numero de ocorrência, então deve ser executada igualmente ao auto incremento.
Desde já agradeço meus Mestres deste site.

Editado por Moacir Guilherme Filho
Erro de portugues
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa bão,

Moacir, vou tentar lhe ajudar. Vamos lá:

  1. Faça uma consulta na tabela "atendimento" dando um COUNT() nos registros de forem do ano atual;
  2. Pegue esse valor e some +1;
  3. Concatene esse valor + '/' + ano atual;
  4. Para evitar duplicar utilize uma constraint UNIQUE no campo da tabela que você vai inserir;
  5. ALTER TABLE suaTabela ADD CONSTRAINT nomeConstraint UNIQUE (campo_numero_atendimento);

     

  6. Caso ocorra de alguém tentar inserir ao mesmo tempo, vai retornar um erro. Aí é só tratar se você tentar inserir novamente ou devolve uma mensagem pro usuário com o novo número e pede pra ele enviar novamente o formulário.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...