Avatar billede Morten Nybegynder
12. oktober 2005 - 13:58 Der er 4 kommentarer og
1 løsning

PHP/Sql sætning

HJÆLP

Jeg bruger følgende update:

$sqlUp = ("UPDATE Customer_Claim_Chd
SET order_nbr = '".$_SESSION[ordre_nummer]."',
adr_type = '".$_SESSION[old_adr_type]."',
cust_name = '".$_POST[customer_name]."',
cust_adress = '".$_POST[customer_adress]."',
cust_po_code = '".$_POST[customer_po_code]."',
cust_city = '".$_POST[customer_city]."',
contact_person = '".$_POST[contact_person]."',
phone_nbr = '".$_POST[contact_phone]."',
description = '".$_POST[claim_description]."',
solution_suggestion = '".$_POST[forslag]."',
solution = '".$_POST[losning]."',
created_by = '".$_POST[created_by]."',
executed_by = '".$_POST[executer]."',
act_cost = "$_POST[act_cost].",
est_cost = ".$_POST[est_cost].",
status = '".$_SESSION[status]."',
Last_modify_date = '".date("Y-m-d H:i:s")."'
WHERE (claim_nbr = ".$_SESSION[rekl_nummer].")");

echo $sqlUp."<br>";
mssql_query($sqlUp);

Problemet er act_cost og est_cost - jeg har i db'en prøvet både money og decimal men den vil ikke indsætte dem, ændre jeg derimod til varchar så kører det som olie.

Er det min syntaks i sql sætningen som der er noget galt med eller???

PS. når jeg echo'er $sqlUp får jeg på de to felter følgende:
act_cost = 543, est_cost = 0,00,
Avatar billede jaw Nybegynder
12. oktober 2005 - 14:01 #1
Du kunne ændre filtypen til NUMBER eller DECIMAL mener jeg.
Avatar billede jakobclausen Nybegynder
12. oktober 2005 - 14:01 #2
Tror det skyldes at den engelske udgave hedder 0.00 og ikke med komma. Istedet for varchar, vil det måske være mere hensigts mæssigt med integer, da du stadig vil kunne bruge regnefunktionerne.
Avatar billede Morten Nybegynder
12. oktober 2005 - 14:04 #3
Decimal har jeg prøvet...
Number er vis MySQL - jeg sidder med en MSSQL
Integer kan ikke indeholde decimaltal.

Mener du at jeg skal konveterer mine $_Post[act_cost] til 1,000.00 .... hmmm tror jeg ikke - SQL databasen gemmer da fint den danske nummer værdi..
Avatar billede Morten Nybegynder
12. oktober 2005 - 14:05 #4
skal lige siges at det punktum som mangler i linien act_cost = " er rigtig sat i min sql sætning....
Avatar billede Morten Nybegynder
12. oktober 2005 - 22:20 #5
Jeg fandt selv en løsning:

$actcost=number_format($_POST[act_cost], 2, '.','');
$estcost=number_format($_POST[est_cost], 2, '.', '');

Dog runder den op/ned - men det lever jeg med hvis nogen har en anden løsning hører jeg gerne.

PS. og den virker både på numeric, money og decimal
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester