php + phpMyAdmin - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: php + phpMyAdmin (/showthread.php?tid=13170) |
php + phpMyAdmin - ftpaul - 18-11-2012 14:39 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 RE: php + phpMyAdmin - joazito - 19-11-2012 10:49 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. RE: php + phpMyAdmin - progster - 19-11-2012 11:19 Tens de criar um sistema de logins. RE: php + phpMyAdmin - Bruno Bernardino - 19-11-2012 12:12 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. RE: php + phpMyAdmin - ftpaul - 19-11-2012 12:37 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, RE: php + phpMyAdmin - aflores2010 - 19-11-2012 20:52 (19-11-2012 12:37)ftpaul Escreveu: Também tem um sistema de logins, esqueci-me de referir isso. 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. RE: php + phpMyAdmin - RaCcOn - 20-11-2012 00:06 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. |