Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
php + phpMyAdmin
18-11-2012, 14:39
Mensagem: #1
php + phpMyAdmin
Boas,

Estou a fazer um sistema de gestão de sócios em php + phpMyAdmin, baseia-se em basicamente inserir e editar dados de tabelas. No entanto não sei é necessário fazer algum tipo de gestão para o caso de estarem duas pessoas a inserirem na mesma tabela ao mesmo tempo. Alguém me pode dar uma luzes sobre isto?

Saudações Geeks Wink
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
19-11-2012, 10:49
Mensagem: #2
RE: php + phpMyAdmin
Deves querer dizer PHP + MySQL, certo? O phpMyAdmin é só uma ferramenta para mexer na base de dados.

Fazes uma boa pergunta. Dependendo da tua aplicação, é possível que haja problemas se duas pessoas tentarem modificar dados concorrentemente. A base de dados em si não dá problemas, o problema é se a pessoa A tenta incrementar um registo em 10€ enquanto a pessoa B tenta fazer o mesmo, e por coincidência fazem ambos a leitura antes de qualquer uma escrever - o registo vai ter 10€ a mais em vez dos 20€ que era suposto, já que a segunda escrita vai anular a primeira.

Agora tu é que sabes se situações destas podem ocorrer. Se sim, tens de usar transacções.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
19-11-2012, 11:19
Mensagem: #3
RE: php + phpMyAdmin
Tens de criar um sistema de logins.

[Imagem: ztc07a.jpg]
Não resolvo dúvidas por PM.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
19-11-2012, 12:12
Mensagem: #4
RE: php + phpMyAdmin
Inserção ao mesmo tempo não tem problema. O que pode ser problemático é editarem o mesmo row ao mesmo tempo, no entanto não sei se editar o phpMyAdmin para isso será a melhor opção, já que o phpMyAdmin é "genérico" (para qualquer BD), e tu queres algo para um caso específico.

De qualquer das formas, se não for para gerir mais nada e servir perfeitamente, não é complicado alterar o phpMyAdmin.

BrunoBernardino.com
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
19-11-2012, 12:37
Mensagem: #5
RE: php + phpMyAdmin
Também tem um sistema de logins, esqueci-me de referir isso.
Em relação a editar a mesma linha ao mesmo tempo será só por acidente.
Obrigado,
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
19-11-2012, 20:52
Mensagem: #6
RE: php + phpMyAdmin
(19-11-2012 12:37)ftpaul Escreveu:  Também tem um sistema de logins, esqueci-me de referir isso.
Em relação a editar a mesma linha ao mesmo tempo será só por acidente.
Obrigado,

Programming is like sex: one mistake and you're providing support for a lifetime.

imagina que não tens apenas duas pessoas a fazer isso. em vez de apenas 10€ e durante por exemplo duas semanas. em vez de lucro terás prejuízo.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
20-11-2012, 00:06
Mensagem: #7
RE: php + phpMyAdmin
Basta que não permitas que seja aberto ou editado um sócio enquanto o outro estiver aberto...

vejamos...

Crias um novo campo na tablela de sócio onde vais chamar locked e outro campo para a data e hora do lock.

Quando alguém clica em editar info, ele altera esse valor para 1, ou seja locked e coloca a data e hora do lock.

Defines que o lock poderá durar no máximo 5 minutos por exemplo...

Agora tens duas hipoteses...

Quando alguém tenta fazer o edit, validas quanto tempo tem o lock (se existir) se for inferior a 5min ele bloqueia, caso seja superior altera a data do lock para a nova data.
Outra das hipoteses é correres um cronjob de 5 em 5 minutos no servidor que vai verificar se existem locks com mais de 5 minutos, caso afirmativo limpa-os.

se o problema está nos valores de conta de sócio nem necessitas disso, um extrato de positivos/negativos...e adicionas um total que é calculado no momento do save.

Ora, quando clico em guardar movimento ele verifica qual é o saldo actual e guarda...nada como veres qual a melhor solução e adaptares ao teu caso em especifico.

[Imagem: 41223468052.png]

Software says "Please Install Microsoft Windows 2000 or better...
So, I have installed Linux Wink
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)