Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, tenho uma duvida bem simples...
Valor do Produto: <input type="tel" required="required" maxlength="6" name="valor" pattern="([0-9]{1,3}\.)?[0-9]{1,3},[0-9]{2}$">
Parcela: <input type="number" required="required" name="parcelation" maxlength="2">
<input type="submit" value="Enviar"/>
O que eu precisava era o seguinte, ao clicar no input Enviar ele pegasse o valor do Produto digitado e a quantidade de parcelas e dividisse automaticamente, enviando então o valor já modificado para a outra pagína...Amigo, nunca confie nos dados do lado do cliente, o recomendado é que você gere o valor das parcelas do lado do servidor e apenas exiba para o cliente, mas nunca use o valor mostrado no navegador para salvar o preço da venda do produto.
>
Já considerou criar um input type="hidden" para armazenar o valor da parcela quando for submeter o formulário?
Desculpe, mas não entendo muito disso, o que eu realmente necessitava imagino eu, era um JavaScript que fizesse a divisão para mim.
>
Amigo, nunca confie nos dados do lado do cliente, o recomendado é que você gere o valor das parcelas do lado do servidor e apenas exiba para o cliente, mas nunca use o valor mostrado no navegador para salvar o preço da venda do produto.
Não vai ser um site onde os clientes poderão realizar compras, é apenas para visualização dos produtos, com as informações...
Pois para a pessoa que estou fazendo o ela não quer que contenha venda, apenas os detalhes de cada produto. Com isso eu fiz um simples painel para ela adicionar os produtos, segue os exemplos:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i60.tinypic.com/20gn03q.png&key=d53e7cde5bb1bd4b8d67908567f1a08569a7282290801bce55a5ac34ebe8fe6f" alt="20gn03q.png" /> Nessa imagem é um simples painel de exemplo
/applications/core/interface/imageproxy/imageproxy.php?img=http://i57.tinypic.com/4scvmv.png&key=9d6d37ef428327faf53b7399d8c8cb0c0b3cd93c460c3613a02550b277e5f98a" alt="4scvmv.png" />
Nessa parte é quando a Imagem, Nome do Produto, Valor e as Parcelas são adicionadas ao banco, no entanto perceba que a parcela não condiz com o valor S/ Juros... para isso eu queria que dividisse automaticamente pelas parcelas ....
Ah... vc quer fazer uma divisão matemática?.. .rs
Mas não creio que seja necessário fazer isso no javascript, vc está usando qual linguagem para trazer esta informação do banco?
posta aqui o código que gera a imagem com o preço ali em cima
>
Ah... você quer fazer uma divisão matemática?.. .rs
Mas não creio que seja necessário fazer isso no javascript, você está usando qual linguagem para trazer esta informação do banco?
posta aqui o código que gera a imagem com o preço ali em cima
Aqui está o código
<?php include "../corpo_cima.php" ?>
<?php
$host = "localhost";
$username = "root";
$password = "";
$db = "teste";
mysql_connect($host,$username,$password) or die("Impossível conectar ao banco.");
@mysql_select_db($db) or die("Impossível conectar ao banco");
$result = mysql_query("SELECT * FROM CONTEUDO") or die("Impossível executar a query");
$resultado = mysql_query("SELECT * FROM PRODUTO") or die ("impossivel executar a query Produto");
echo "<main class='conteudo'>
<div class='fundo-paginacao'>
<div class='paginacao'>
<div class='pagination'>
</div>
</div>
</div>
<div class='list-of-posts'>
";
while($row=mysql_fetch_object($result)){
while ($linha = mysql_fetch_array($resultado)) {
$id = $linha['PROD_ID'];
$produto = $linha['PROD_NOME'];
$preco = $linha['PROD_PRECO'];
$parcela = $linha['PROD_PARCELA'];
$parcelaValor = $linha['PROD_VALORPARCELA'];
echo "
<div class='post'>
<div class='conteudo-imagem'><img src='getImagem.php?PicNum=$row->CONT_ID' \'></div>
<a href='../pijamas/CDK_pijama.php?' class='conteudo'><h3 class='titulo-produto'>$produto</h3></a>
<div class='conteudo-preco'>R$$preco</div>
<div class='conteudo-parcela'>ou em $parcela de R$$parcelaValor,00 S/ JUROS</div>
<div class='conteudo-button'><a href='#' class='conteudo'><li class='conteudo-button'>aa</li></a></div>
</div>
";
}
}
echo "
</div>
<div class='paginacao'>
<div class='pagination'>
</div>
</div>
</main>";
?>
<?php include "../corpo_baixo.php" ?>
Sei que pode conter coisas erradas, mas sou meio "novato" nessa área xD
Pergunta cara, você está gravando o valor da parcela no banco de dados também?
SE sim, você precisará calcular isso no PHP antes de gravar, caso contrário, pode fazer desta forma:
$preco = $linha['PROD_PRECO'];
$parcela = $linha['PROD_PARCELA'];
$parcelaValor = $preco / $parcela;
Isso te dará o valor da parcela calculado.
>
Pergunta cara, você está gravando o valor da parcela no banco de dados também?
SE sim, você precisará calcular isso no PHP antes de gravar, caso contrário, pode fazer desta forma:
$preco = $linha['PROD_PRECO'];
$parcela = $linha['PROD_PARCELA'];
$parcelaValor = $preco / $parcela;
Isso te dará o valor da parcela calculado.
Eu tentei como disse, porém o valor gravado no banco é como 0...
Encontrei uma solução, usando JavaScript
function calc_parcela(){
var parcela = parseInt(document.getElementById('parcelation').value);
var valor = parseInt(document.getElementById('valor').value);
tot = valor / parcela;
document.getElementById('valorParcela').value = tot;
}
No entanto há um pequeno problema, ao ser calculado o valor de 150,00 por exemplo, em 2 parcelas, ficam como 75 cada parcela, mas se for em 7 parcelas, o valor será 21.428571428571427...
Seria possível transformar esse valor em uma mascara como 00,00 ao enviar ao banco?
seria sim...
vc pode usar o próprio javascript
usando:
tot.toFixed(2);
ou o php com
number_format($variavel, 2)
>
seria sim...
você pode usar o próprio javascript
usando:
tot.toFixed(2);
ou o php com
number_format($variavel, 2)
Realmente, deu certo, muito obrigado...
Uma outra duvida, o valor ficou com o ponto não com virgula, teria como mudar? Caso seja algo complexo, desconsidere.
então...
tanto JS, quanto o MySql como também o PHP usam o padrão americano. se tiver no banco de dados como double ou float o melhor é vc alterar só a visualização, pelo PHP:
number_format($variavel, 2, ',','.');
no js : tot.toFixed().replace('.', ',');>
então...
tanto JS, quanto o MySql como também o PHP usam o padrão americano. se tiver no banco de dados como double ou float o melhor é você alterar só a visualização, pelo PHP:
number_format($variavel, 2, ',','.');
no js : tot.toFixed().replace('.', ',');
Muito obrigado, resolveu meus problemas!
Já considerou criar um input type="hidden" para armazenar o valor da parcela quando for submeter o formulário?