Jump to content
Fórum Script Brasil
  • 0

Dificuldade Com O Campo Money...


Martinsrj
 Share

Question

Olá pessoal, beleza?

Estou tentando criar um controle de caixa com PHP + POSTGREE e estou com dificuldades, pois tenho o seguinte formulário:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<div align="center"><h2>Cadastro de Crédito e Débito</h2></div>
<form action="cad_credito_e_debito.php" method="post">
<input type="hidden" name="operacao" value="incluir">
<p>N° Nota Fiscal: <input name="nf" type="text" size="15" maxlength="15">
</p>
<p>Descrição:         
  <input type="text" name="descricao" size="50"></p>
<p>Data: 
  <input name="data" type="text" size="10" maxlength="10">
</p>
<p>Valor: <input name="valortotal" type="text" size="15" maxlength="15">
</p>
<p>Saldo: <select size="1" name="saldo">
    <option>Escolha aqui</option>
    <option value="C">Crédito</option>
    <option value="D">Débito</option>
</select>
</p>
<br>
<p><input type="submit" value="Enviar" name="enviar"></p>
</form>
</body>
</html>
e logo abaixo o código que processo o formulário acima:
<?php
$notafiscal = $_POST["nf"];
$descricao = $_POST["descricao"];
$data = $_POST["data"];
$valor = $_POST["valortotal"];
$saldo = $_POST["saldo"];

$operacao = $_POST["operacao"];
include "conecta_pg.php";

$sql = "INSERT INTO caixa (nf, descricao, data, valortotal, saldo) VALUES ";
 $sql .= "('$notafiscal', '$descricao', '$data', '$valor', '$saldo')";
 $resultado = pg_query($sql);
    
    echo "<html><body>";
    echo "<p align=center>Seu cadastro foi realizado com sucesso!</p><br><br>";
    echo "</body></html>";
pg_close($conexao);

?>
O meu banco de dados está dessa forma:
CREATE TABLE caixa
(
  codigo serial NOT NULL,
  nf numeric(20) NOT NULL,
  descricao character varying(100) NOT NULL,
  data character varying(20) NOT NULL,
  valortotal money NOT NULL,
  saldo character(1) NOT NULL
)

Porém no formulário quando digito no campo Valor: R$ 20,00 ele dá o seguinte erro:

Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for type money: "R$ 20,00" in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\estudo\cad_credito_e_debito.php on line 13

E quando eu tiro R$ ele insere normalmente no banco postgree, porem o campo valortotal fica com o seguinte registro $2,000.00.

Como que eu faço para que o registro fique dessa forma 20,00???

A Solução seria eu alterar o tipo do campo de money para varchar???

Valeu aí galera pela ajuda,

Abraços.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Mande inserir o valor de 20.00 e não 20,00... use str_replace para substituir a vírgula pelo ponto na hora de inserir.

Ps.: Não precisa colocar fonte enorme, ninguém é cego (até pode ser, mas ai tem leitor de tela pra isso...).

Link to comment
Share on other sites

  • 0

Pois futuramente estarei somando o campo valortotal através de datas

Mande inserir o valor de 20.00 e não 20,00... use str_replace para substituir a vírgula pelo ponto na hora de inserir.

Ps.: Não precisa colocar fonte enorme, ninguém é cego (até pode ser, mas ai tem leitor de tela pra isso...).

Valeu ESerra deu certo:

$valor = str_replace (",", ".", $valor);

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...