Comma in plaats van punt invoeren als value
Ik heb een input veld waarin een geld bedrag moet ingevoerd worden nu wil ik dat inplaats van een
'.' een ',' in kan vullen. In de database heb ik het volgende veld waarin het geld bedrag komt te staan:
Type DECIMAL
Lengte/Waarden 10,2
Nu is het dus zo dat als ik het met een ',' het bedrag achter de komma niet word meegenomen. Hoe doe ik dit? Alvast bedankt!
'.' een ',' in kan vullen. In de database heb ik het volgende veld waarin het geld bedrag komt te staan:
Type DECIMAL
Lengte/Waarden 10,2
Nu is het dus zo dat als ik het met een ',' het bedrag achter de komma niet word meegenomen. Hoe doe ik dit? Alvast bedankt!
Gewijzigd op 03/06/2013 20:34:39 door Johan Vels
$bedrag = strreplace($bedrag, ",",".");
even als aanvulling op Tobias:
een computer kan enkel rekenen met gehele getallen of met floating points (getallen met een punt er tussen ergens). Met andere woorden 9,35 kun je dus alleen als tekst zien en zul je moeten wijzigen naar ofwel 9.35 ofwel 935
Daarna kan php er mee gaan rekenen. Omdat je voor een decimal hebt gekozen dat in feite gewoon een floating point is zul je zoals Tobias zegt de komma voor een punt moeten vervangen.
een computer kan enkel rekenen met gehele getallen of met floating points (getallen met een punt er tussen ergens). Met andere woorden 9,35 kun je dus alleen als tekst zien en zul je moeten wijzigen naar ofwel 9.35 ofwel 935
Daarna kan php er mee gaan rekenen. Omdat je voor een decimal hebt gekozen dat in feite gewoon een floating point is zul je zoals Tobias zegt de komma voor een punt moeten vervangen.
Bedankt voor de reacties.
@Tobias Tobias
Hoe zou ik gebruik kunnen maken van strreplace in een $_POST?
@Tobias Tobias
Hoe zou ik gebruik kunnen maken van strreplace in een $_POST?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("db")or die("Connection Failed");
$code = $_POST['code'];
$bedrag = $_POST ['bedrag'];
$sql = "UPDATE kortingen SET bedrag = bedrag + '$bedrag' WHERE code = '$code'";
mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("db")or die("Connection Failed");
$code = $_POST['code'];
$bedrag = $_POST ['bedrag'];
$sql = "UPDATE kortingen SET bedrag = bedrag + '$bedrag' WHERE code = '$code'";
$bedrag = strreplace($_POST['bedrag'], ",",".");
Ik zou wel eerst je data valideren en je user input beveiligen.
Bedankt Frank,
Echter krijg ik nu altijd de echo "Bedrag is toegevoegd" maar voegt hij niets toe in het betreffende veld 'bedrag'. Weet jij misschien hoe dat komt? Heb nu het volgende:
Echter krijg ik nu altijd de echo "Bedrag is toegevoegd" maar voegt hij niets toe in het betreffende veld 'bedrag'. Weet jij misschien hoe dat komt? Heb nu het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("db")or die("Connection Failed");
$code = $_POST['code'];
$bedrag = str_replace($_POST['bedrag'], ",",".");
$sql = "UPDATE kortingen SET bedrag = bedrag + '$bedrag' WHERE code = '$code'";
if(mysql_query($sql)){
echo "Bedrag is toegevoegd";}
else{
echo "Het bedrag toevoegen is niet gelukt";}
mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("db")or die("Connection Failed");
$code = $_POST['code'];
$bedrag = str_replace($_POST['bedrag'], ",",".");
$sql = "UPDATE kortingen SET bedrag = bedrag + '$bedrag' WHERE code = '$code'";
if(mysql_query($sql)){
echo "Bedrag is toegevoegd";}
else{
echo "Het bedrag toevoegen is niet gelukt";}
Gewijzigd op 04/06/2013 12:07:59 door Johan Vels
Hier is de volgorde van de parameters verkeerd:
Maak daarvan bijvoorbeeld:
Maak daarvan bijvoorbeeld:




