Door
Onbekende gebruiker
op 04-01-2015 21:01
gewijzigd op 04-01-2015 21:13
8.295 views
Ik zoek de juiste oplossing om getallen voor een webshop te storen in de DB.
Ik wil namelijk 12.50 in de DB zetten maar de Mac doet automatische en punt ervan maken op het toetsenbord. Windows doet gewoon netjes een komma plaatsen.
Moet ik met PHP gaan tackelen hoe het in de DB komt te staan??
De beste oplossing is om een DECIMAL-veld te gebruiken, en met money_format() het formaat aan te passen in de output. Bij de Rabobank worden met JS alle punten na een onBlur() event gereplaced naar een komma in de view.
?
Onbekende gebruiker
04-01-2015 21:08
@Aar, kan je met "decimal" gewoon alles erin plaatsen? Ik gebruikte nu het "double" type wat resulteerde in fouten.
Een decimal of een double moet altijd met een punt er tussen.
Je zal altijd te maken hebben met gebruikers die een komma invoeren ipv een punt, dus moet je dat in php regelen.
?
Onbekende gebruiker
04-01-2015 21:13
Ger van Steenderen op 04/01/2015 21:12:49
Een decimal of een double moet altijd met een punt er tussen.
Je zal altijd te maken hebben met gebruikers die een komma invoeren ipv een punt, dus moet je dat in php regelen.
Perfect, dat is precies wat ik wou weten. Gaan we dat even fixen in de code.
Bedankt weer!
number_format krijgt als eerste parameter een float niet een string.
Gebruik gewoon str_replace() (tenzij je verwacht dat er ook duizend scheiders ingevoerd worden!)
?
Onbekende gebruiker
04-01-2015 21:40
Verdomme nog aan toe!
10.50 invoeren in input veld. PHP code erover ( str_replace( ',', '.', $getal ) ); In de DB decimal opgegeven en gewoon fucking 11 ervan maken haha.
Wat doe ik fout xD ben al een half uur aan het kloten ermee. Oh wat haat ik getallen, tenzij ze in grote getalen naar mijn rekening komen haha