look4game 0 Denunciar post Postado Agosto 29, 2004 Então é assim, tenho de adicionar o preço de um produto a uma base de dados MySQL. O preço está no formato 200,99 como posso obrigar o vendedor a por Y,XX ? (o Y pode ser um numero com varios algarismos, o XX tem de ser dois algarismos). Como altero este codigo? PHP [/tr][tr]$qid = db_query("INSERT INTO produtos (nome, texto, preco) VALUES ('$frm[nome]', '$frm[texto]', '$frm[preco]')");[/tr] O valor actualmente é preco, posso usar dois campos de texto um para o Y e outro para o X ou usar outro modo qq. Como o posso fazer? Compartilhar este post Link para o post Compartilhar em outros sites
hlegius 0 Denunciar post Postado Agosto 29, 2004 calma você quer que o valor seja R$9999,99 ? se sim tenta assim: PHP [/tr][tr]<?$pattern = "^([0-9]{4}),([0-9]{2})?$"; $verifica = eregi($pattern $frm[preco]); if($verifica == false){ print "insira o formato correto! R$0000,00"; } ?>[/tr] Deu para pegar? daí depois caso seja True você manda jogar o valor na base sakou? qualquer coisa posta aí! até... :) Compartilhar este post Link para o post Compartilhar em outros sites
klawdyo 0 Denunciar post Postado Agosto 29, 2004 Não testei se funciona esse seu código, mas de cara dá pra fazer uma alteração nele, coloque a variável $patern assim: PHP [/tr][tr]$pattern = "^([0-9]+),([0-9]{2})"; [/tr] $pattern = "^([0-9]{4}),([0-9]{2})?$"; Assim, ele obriga a pessoa a colocar 4 dígitos antes da ",",nem mais nem menos, e isso é inviável, você vai ter mais trabalho, então substitui o {4} pelo "+", ele obriga a você colocar pelo menos 1. No mesmo passo, eu retirei o "?" e o "$" do final da Expressão regular, pois isso deixava uma grupo opcional, ou seja, tanto faz se você colocar ou não colocar os centavos... Compartilhar este post Link para o post Compartilhar em outros sites
hlegius 0 Denunciar post Postado Agosto 30, 2004 beleza então!faça como o klawdyo explicou!esse lance do + eu não sabia...até... :) Compartilhar este post Link para o post Compartilhar em outros sites
look4game 0 Denunciar post Postado Agosto 30, 2004 Obrigado.Esta loja usa €, mas o formato é o mesmo do real. O que eu queria, era meter no formulário dois campos de texto, um ao lado do outro, sendo um deles para as unidades, e outro para os centavos. No entanto, quando inserisse na base de dados, inseria assim:$valor_do_texto_unidades,$valor_do_texto_centavos, de maneira a que fique tudo no mesmo campo. Na base de dados aparecia 200,30 por exemplo, no campo preço.É possível? Compartilhar este post Link para o post Compartilhar em outros sites
neo_punk 0 Denunciar post Postado Agosto 30, 2004 Tipow, se forem duas variáveis, que tem só os números, nada de pontos ou virgulas é simples...é só fazer iddo:$var1 = 999;$var2 = 99;$var = $var1.",".$var2;echo $var; //vai retornar 999,99... sacou..[]'s PunK Compartilhar este post Link para o post Compartilhar em outros sites
look4game 0 Denunciar post Postado Agosto 30, 2004 Obrigado neo_punk, nem tinha pensado nisso... é exactamente isso. Obrigado também ao hlegius e klawdyo http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Já agora, como é que posso fazer o processo inverso? Tenho 999,99 e divido em 999 e 99? Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Agosto 30, 2004 funcao explode() Compartilhar este post Link para o post Compartilhar em outros sites
look4game 0 Denunciar post Postado Agosto 30, 2004 Obrigado ;) Já resolvi o meu problema. Compartilhar este post Link para o post Compartilhar em outros sites