bruna.w 0 Denunciar post Postado Junho 28, 2012 oi pessoal, como posso calcular valores inseridos em TextField? por exemplo: tenho 3 campos. campo1 campo2 campo3 Label_total = campo1 + campo2 + campo3 vou inserindo e ela vai cauculando automaticamente sem inserir no Banco de Dados obrigada Bruna Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 28, 2012 você restata os valores por meio do array $_POST ou $_GET, dependendo do método do form. Crie uma variável iniciada em zero, para guardar a soma. Depois some cada valor a essa variável por exemplo $campo1 = $_POST[ 'textfield_1' ]; // ... $total = $campo1 + $campo2 + $campo3; Compartilhar este post Link para o post Compartilhar em outros sites
bruna.w 0 Denunciar post Postado Junho 29, 2012 muito obrigada Beraldo ficou assim mas, só calcula números inteiros sem zero no final exemplo: 2000 = 2 2001 = 2001 2.000 = 2 2,99 = 2 como resolver? <?php $campo1 = $_POST[ 'campo1' ]; $campo2 = $_POST[ 'campo2' ]; $campo3 = $_POST[ 'campo3' ]; $total = $campo1 + $campo2 + $campo3; ?> <input name="total" type="text" id="total" value=" <?php echo "$total"/>;?>" só tenho mais uma dúvida, eu gostaria de manter os dados nos campos após clicar no botão "CALCULAR" BJS BRUNINHA Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 29, 2012 não pode haver vírgula, pois isso não significa nada para o PHP. Ele considerará só o que há antes da vírgula. O separador decimal é o ponto, logo 2.000 não é 2 mil, é 2. É esse o motivo do problema apesar de o PHP ser fracamente tipado, é bom você fazer casting das strings para valores numéricos. Por exemplo: $campo1 = (float) $_POST['campo1']; isso garante um tipo numérico, não uma string. (aliás, é bom se adaptar com isso, pois em muitas outras linguagens, é preciso fazer essa conversão) Vale a pena ler isto: http://php.net/manual/pt_BR/language.types.type-juggling.php Sobre manter o número no input, você precisará salvar os valores em algum lugar para exibi-los na outra página. Você pode usar session ou cookie. Na outra página, faça um if para ver se o valor existe na session/cookie. Se existir, dê echo nele dentro do atributo "value" do input Compartilhar este post Link para o post Compartilhar em outros sites
bruna.w 0 Denunciar post Postado Junho 30, 2012 o maximo que pude fazer foi assim, <?php $campo1 = $_POST[ 'campo1' ]; $campo2 = $_POST[ 'campo2' ]; $campo3 = $_POST[ 'campo3' ]; $total = $campo1 + $campo2 + $campo3; ?> <?php echo number_format($total,2,',','.');?> desse jeito informo números inteiros nos campos e será mostrado no resultado do jeito que eu gostaria EX: 1000 fica assim 1.000,00 mas eu gostaria mesmo era calcular como foi informado 1.000 ficasse 1.000,00 e não 1 bjs Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 30, 2012 se for informado 1.000, você terá de usar str_replace() para trocar o ponto por uma string vazia. aí pode usar number_format() como você fez Compartilhar este post Link para o post Compartilhar em outros sites
bruna.w 0 Denunciar post Postado Julho 1, 2012 nesse caso onde coloco str_replace() <?php $campo1 = $_POST[ 'campo1' ]; $campo2 = $_POST[ 'campo2' ]; $campo3 = $_POST[ 'campo3' ]; $total = $campo1 + $campo2 + $campo3; ?> <?php echo number_format($total,2,',','.');?> Bruna Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 1, 2012 pode colocar nas atribuições. por exemplo: $campo1 = str_replace( '.', '', $_POST[ 'campo1' ] ); Compartilhar este post Link para o post Compartilhar em outros sites
bruna.w 0 Denunciar post Postado Julho 1, 2012 Perfeito era isso que eu precisava mesmo DEU TUDO OK. RESOLVIDO Compartilhar este post Link para o post Compartilhar em outros sites