Ir para conteúdo

Arquivado

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

lico1707

Dúvida sobre receber dados de um Bd mysql

Recommended Posts

Bom dia,

Estou com algumas dúvidas sobre como receber dados no meu banco mysql.

Bom vamos lá.

Um exemplo bem simples só pra que vocês entendam minha dúvida. Suponhamos que eu tenha um formulário html simples com 3 campos. ID, Nome e Telefone. Recebo estes dados via POST e salvo no banco de dados. Até aí tudo normal.

1º Dúvida. Quero fazer com que, ao abrir o formulário, o campo ID seja preenchido com o último registro do banco +1, ou seja, o usuário já vai saber qual será o novo ID antes de salvar no banco de dados. Se há 2 registros gravados no bd, quando abrir o formulário, o campo ID será preenchido com o valor 3. Ao gravar o registro 3, abro novamente o formulário e o campo ID terá o valor 4, e assim por diante.

2º Dúvida. Bom, resolvida a questão acima, vem a próxima. Caso 2 usuários diferentes estejam na página do formulário e irão criar novos registros, qual será o comportamento do formulário?

Por exemplo.

O usuário 1 entra primeiro na pagina do form, aí aparece o ID do novo registro, por exemplo 3. Aí ele digita os seguintes valores nos campos, porém não salva.

ID - 3(Automático, vem do bd)

Nome - João

Telefone - 123

Antes dele salvar os dados, o usuário 2 entra na página do form e digita outros valores, mas tbm ainda não salva.

ID - 3(Automático, vem do bd)

Nome - Pedro

Telefone - 555

O ID que irá aparecer pra ele será 3 tbm, pois o usuário 1 ainda não salvou os dados no bd.

Bom, aí vem meu grande problema.

O usuário 1 já sabe que o ID do João é 3. Mas e se antes dele salvar os dados, o usuário 2 gravar primeiro que ele. Creio eu que o ID de João passará a ser 4 na hora que salvar no bd.

E é justamente isso que não quero. Eu preciso que:

  • O usuário que abrir o form já saiba o ID desse novo registro.
  • Independente de quantos usuários abram o form depois dele, o ID não se altere. Se ele visualizou ID 3, mesmo se vários outros usuários abrirem o form e gravarem depois dele, o ID do registro quando ele salvar no bd será 3.

Obs: Não postei aqui os códigos html e de inserção no banco por que são simples de criar e essa parte já tenho.

Vlw Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolver o problema #1 da forma como você quer irá sempre causar o problema #2.

Quem deve gerar os IDs é o próprio SGBD, na hora do INSERT. Depois do INSERT é possível buscar o último ID gerado pelo campo auto_increment. Nessa hora você pode exibir pro usuário o ID gerado

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.