17. marts 2011 - 16:20
Der er
8 kommentarer og 1 løsning
Valg af felt type til felt med både numre og numre+%
Jeg tænker om der findes en felt type som egner sig til at gemme tal og tal efterfulgt af % tegnet
fx 100 og 22%
Det er jo ikke INT
Findes der et egnet felt? Elller skal jeg vælge Varchar og selv evaluere input?
jeg har kigget lidt på
http://dev.mysql.com/doc/refman/4.1/en/data-types.html men ikke fundet de vise sten :o)
På forhånd tak
Annonceindlæg fra Computerworld
Vejen til succes er.. Kedelig!
Mød en af Nordens fremmeste eksperter i adfærdsdesign – Morten Münster, der bl.a. har skrevet ” Jytte fra marketing er desværre gået for i dag” – på Computerworld Cloud & AI Festival.
11. juli 2025
17. marts 2011 - 16:29
#1
val varchar eller val int typ enum('abs','perc')
17. marts 2011 - 16:44
#2
okay tak ang: val int typ enum('abs','perc') Det har jeg ik set før Kan du evt gi en hurtig forklaring? :o)
17. marts 2011 - 17:13
#3
val typ 100 'abs' 22 'perc'
17. marts 2011 - 17:13
#4
17. marts 2011 - 17:40
#5
hmm jeg kan ik rigtig finde en god løsning så benytte varchar og så må jeg evaluere når jeg indsætter noget og udlæser jeg er startet lidt med dette grimme script: function tep_calculate_products_cost($number_or_percentage_string, $products_price, $decimals=0) { if (strstr($number_or_percentage_string, "%") != false) { if ((int)$number_or_percentage_string>0){ return number_format( (($products_price*(100-number_format(str_replace('%','',$number_or_percentage_string), 2, '.', '')))/100) , $decimals, '.', ''); } else { return number_format($products_price, $decimals, '.', ''); } } else { if ((int)$number_or_percentage_string>0){ return number_format($number_or_percentage_string, $decimals, '.', ''); } else { return number_format($products_price, $decimals, '.', ''); } } }
17. marts 2011 - 17:49
#6
og denne til når jeg indsætter noget function tep_db_insert_percentage_or_number($number_or_percentage_string) { if (strstr($number_or_percentage_string, "%") != false) { return number_format(trim(str_replace(',','.',str_replace('%','',$number_or_percentage_string))), 2, '.', '')."%"; } else { return number_format(str_replace(',','.',$number_or_percentage_string), 2, '.', ''); } }
18. marts 2011 - 01:21
#7
hej igen jeg har valgt en bedre løsning istedet for at skrive % i feltet, så har jeg lavet så den beregner hvor meget fx 10% er, og indsætter det i feltet. altså bevare feltet som INT felttype tak for bidragene :o) venligst smid svar og få point
18. marts 2011 - 02:04
#8
svar
18. marts 2011 - 02:11
#9
god nat :o)
Computerworld tilbyder specialiserede kurser i database-management