SALVAR VALOR DO BOTÃO NUM TEXT BOX

Enviada por Neto Sales 
Neto Sales
SALVAR VALOR DO BOTÃO NUM TEXT BOX
16 de October de 2017 às 09:59AM
Tenho uma rotina pronta em PHP que grava um número com dois dígitos digitado num text box no banco de dados, tudo certinho, funcionando conforme código:

<input type="text" name="numero" id="numero" maxlength = "2">

Dessa forma, consigo digitar números de 00 a 99 (100 números) e salvar. Tudo vinha servindo, pois na rotina que usava, não importava se mais de uma pessoa escolhesse o mesmo número. Ocorre que esse procedimento mudou, e agora quero que escolham apenas os 100 números disponíveis, de modo que quando um número for escolhido, ele deverá desaparecer ou ficar inabilitado. Pensei em fazer isso desenhando os botões na tela, e isso já está pronto, porém não sei como atribuir o valor do botão clicado ao txtbox numero, nem tampouco desabilitar o botão, após ele ser escolhido, inclusive isso tem que ser válido para as próximas operações. Queria fazer esse tipo de atribuição usando o txtbox, pra não ter que mexer no sistema de gravação da tabela, que já tá pronto e funcional, inclusive envolvendo uma série de outras variáveis. Queria uma rotina simples. Ao invés de digitar o valor no textbox, apenas clicar no botão, que o textbox seria preenchido automaticamente. Depois era só clicar no botão gravar, que já tá pronto. Aceito sugestões de uma melhor forma pra fazer isso, desde que não tenha que mexer muito no código.
Jayme A. C. Gimenez
Re: SALVAR VALOR DO BOTÃO NUM TEXT BOX
16 de October de 2017 às 12:34PM
Quebra-cabeças interessante! Gostei do desafio!

Isso faz parte de um jogo?

Antes de entrarmos na forma como você vai mostrar isso na tela, eu tenho uma dúvida importantíssima para tentar ajudá-lo: quando todos os números de 00 a 99 já tiverem sido escolhidos e salvos no banco de dados, todos voltarão a estar disponíveis novamente na tela, é isso?

Supondo que seja isso, como seu sistema sabe que deve iniciar um novo ciclo de 00 a 99?
Neto Sales
Re: SALVAR VALOR DO BOTÃO NUM TEXT BOX
16 de October de 2017 às 12:56PM
Não Jayme. É um sistema de rifa, onde a pessoa escolhe um número de 00 a 99. Queria alguma coisa do tipo a cada vez que abrisse a tela, mostrasse os números disponíveis para clique, e desabilitasse aqueles que já estivessem escolhidos. Para um novo ciclo, o correto seria limpar o banco de dados. O sistema já funciona usando um text box, onde ao iniciar, ele mostra uma tela com os números já escolhidos. Caso várias pessoas queiram escolher o mesmo número, o sistema permite. A situação dos botões, foi só um forma que eu pensei de impedir que muitas pessoas escolham o mesmo número, e que alguns outros não sejam escolhidos. Poderia até fazer um teste antes de gravar, e mostrar uma msg de erro, etc. Como estou pensando em algo responsivo, nem sempre essas mensagens de alerta dão certo em celulares, e às vezes o usuário simplesmente fecha a janela, sem ver que tipo de erro é.
Jayme A. C. Gimenez
Re: SALVAR VALOR DO BOTÃO NUM TEXT BOX
16 de October de 2017 às 02:03PM
Então, essa ideia dos botões é muito boa!

E, em sendo uma rifa, após o sorteio o sistema zera a tabela (ou, se você precisar guardar esses resultados, pode renomear a tabela e criar outra; ou mesmo usar uma única tabela para guardar todos os resultados).

O usuário só poderá escolher um número por vez? Ou poderá escolher vários números de uma só vez?
Neto Sales
Re: SALVAR VALOR DO BOTÃO NUM TEXT BOX
16 de October de 2017 às 02:50PM
Inicialmente ele poderá escolher vários números, gravando um por vez, pois cada vez que grava, volta pra tela inicial, onde a aposta fica registrada (isso já existe, e já funciona), e já mostra todas as apostas feitas até aquele momento. Inicialmente quero apenas mudar a dinâmica de ir preenchendo o text box com digitação, com cliques no botão. Naturalmente que ainda quero melhorar muitas coisas, mas gosto de já ir pondo em prática.
Jayme A. C. Gimenez
Re: SALVAR VALOR DO BOTÃO NUM TEXT BOX
16 de October de 2017 às 04:06PM
Bom, então, entendo que você terá que atuar em duas frentes:

1) Os botões terão que ter tratamento dinâmico para serem mostrados na tela, ou seja, estarão ativos ou não dependendo dos dados que chegam da consulta ao banco de dados. É essa parte que vai garantir que o usuário só possa escolher os números ainda não escolhidos.

2) Pelo que entendi, ao clicar no botão, o número escolhido será escrito num campo do formulário, é isso? Ele não vai direto pro banco quando o usuário clicar num botão pra escolher um número, é isso? Se for isso, terá que ser feito com JavaScript.

Manja alguma coisa desses dois passos?
Neto Sales
Re: SALVAR VALOR DO BOTÃO NUM TEXT BOX
16 de October de 2017 às 04:37PM
Isso, eu já tenho o textbox que preencho manualmente. Quero só que o clique do botão preencha ele, e depois a gravação no banco será feita com já é feita normalmente, com um clique no botão gravar, que a gente poderia deixar desabilitado, até o preenchimento de todos os campos.
Eu até sei como funciona o javascript, mas não consigo desenrolar isso sozinho. Por isso a minha preocupação em preservar o que já funciona. Sei que devo fazer um arquivo em java, e chamar à partir de alguma ação (setfocus, lostfocus, etc) do formulário. Já tentei sozinho aqui, e não vai. Nunca funciona como o esperado, e quando funciona, acaba atrapalhando o que já tava correto, pois no meu formulário já tem um javascript para impedir que haja gravação com campos em branco.
Jayme A. C. Gimenez
Re: SALVAR VALOR DO BOTÃO NUM TEXT BOX
18 de October de 2017 às 02:14PM
Bom, então, se você quiser fazer com JavaScript (realmente, fica mais elegante para o usuário), vai ter que dar uma boa estudada na linguagem. Não é trivial.

Há uma alternativa para fazer sem JavaScript: ao clicar no número escolhido, o número já será salvo no banco de dados, sem passar pelo campo do form. Isso seria bem simples de fazer, bastando alterar a forma de capturar o número no próximo script: ao invés do $_POST, usar o $_GET.

No entanto, se, depois de escolher o número, o usuário ainda tiver que preencher outros campos do formulário, você poderia fazer em dois passos: o usuário escolhe o número, clicando no seu quadro; e, ao clicar para escolher, ele é levado à próxima página, que seria, justamente, o form que você tem hoje, mas já com o campo número escolhido preenchido. Isso seria simples; e sem JavaScript.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.