montano 0 Denunciar post Postado Abril 3, 2009 boa tarde, //tabela comissao if ($areanet == "Sim") { $comissao = '40,00'; } else { $comissao = '80,00'; } if($pacote2 != "") { $comissao = $comissao + '15,00'; } if ($plano == "Deb.Conta") { $comissao = $comissao + '5,00'; } $sql="INSERT INTO tb_tv_cred_com VALUES ('','".mysql_insert_id()."','$formatadavenda','$comissao')"; $result = mysql_query($sql); ele esta tirando o ",00" do meu valor, se eu dar um echo no $comissao, vai aparecer "xx,xx" mas quando faz o insert fica assim, "xx". ele tira os dois zeros.. la no banco o campo esta como varchar. oq esta acontecendo? :S Compartilhar este post Link para o post Compartilhar em outros sites
montano 0 Denunciar post Postado Abril 3, 2009 RESOLVIDO function formata($numero) { if(strpos($numero,'.')!='') { $var=explode('.',$numero); if(strlen($var[0])==4) { $parte1=substr($var[0],0,1); $parte2=substr($var[0],1,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.','.$var[1].'0'; }else { $formatado=$parte1.'.'.$parte2.','.$var[1]; } } elseif(strlen($var[0])==5) { $parte1=substr($var[0],0,2); $parte2=substr($var[0],2,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.','.$var[1]; } } elseif(strlen($var[0])==6) { $parte1=substr($var[0],0,3); $parte2=substr($var[0],3,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.','.$var[1]; } } elseif(strlen($var[0])==7) { $parte1=substr($var[0],0,1); $parte2=substr($var[0],1,3); $parte3=substr($var[0],4,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1]; } } elseif(strlen($var[0])==8) { $parte1=substr($var[0],0,2); $parte2=substr($var[0],2,3); $parte3=substr($var[0],5,3); if(strlen($var[1])<2){ $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0'; }else{ $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1]; } } elseif(strlen($var[0])==9) { $parte1=substr($var[0],0,3); $parte2=substr($var[0],3,3); $parte3=substr($var[0],6,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1]; } } elseif(strlen($var[0])==10) { $parte1=substr($var[0],0,1); $parte2=substr($var[0],1,3); $parte3=substr($var[0],4,3); $parte4=substr($var[0],7,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.$var[1]; } } else { if(strlen($var[1])<2) { $formatado=$var[0].','.$var[1].'0'; } else { $formatado=$var[0].','.$var[1]; } } } else { $var=$numero; if(strlen($var)==4) { $parte1=substr($var,0,1); $parte2=substr($var,1,3); $formatado=$parte1.'.'.$parte2.','.'00'; } elseif(strlen($var)==5) { $parte1=substr($var,0,2); $parte2=substr($var,2,3); $formatado=$parte1.'.'.$parte2.','.'00'; } elseif(strlen($var)==6) { $parte1=substr($var,0,3); $parte2=substr($var,3,3); $formatado=$parte1.'.'.$parte2.','.'00'; } elseif(strlen($var)==7) { $parte1=substr($var,0,1); $parte2=substr($var,1,3); $parte3=substr($var,4,3); $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00'; } elseif(strlen($var)==8) { $parte1=substr($var,0,2); $parte2=substr($var,2,3); $parte3=substr($var,5,3); $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00'; } elseif(strlen($var)==9) { $parte1=substr($var,0,3); $parte2=substr($var,3,3); $parte3=substr($var,6,3); $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00'; } elseif(strlen($var)==10) { $parte1=substr($var,0,1); $parte2=substr($var,1,3); $parte3=substr($var,4,3); $parte4=substr($var,7,3); $formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.'00'; } else { $formatado=$var.','.'00'; } } return $formatado; } $comissao = formata($comissao); $sql="INSERT INTO tb_tv_cred_com VALUES ('','".mysql_insert_id()."','$formatadavenda','$comissao')"; $result = mysql_query($sql); Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 3, 2009 Use campos corretos no banco de dados e evite fazer gambiarra, com campo correto para valor monetario voce pode fazer qualquer tipo de consulta com qualquer conta matematica que o banco entenderá Compartilhar este post Link para o post Compartilhar em outros sites
montano 0 Denunciar post Postado Abril 3, 2009 qual camop seria o correto? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 3, 2009 Qualquer campo Float, por exemplo DECIMAL(10,2) mesma coisa com datas quando se usa o campo correto pra salvar datas, você facilmente pode fazer consultas comando, subtraindo datas ou qualquer coisa que quiser fazer com datas, se tiver no campo errado isso nao é possivel Compartilhar este post Link para o post Compartilhar em outros sites
montano 0 Denunciar post Postado Abril 3, 2009 valeu pela dica.. Compartilhar este post Link para o post Compartilhar em outros sites