Comma in plaats van punt invoeren als value
'.' 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, ",",".");
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.
@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.
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
Maak daarvan bijvoorbeeld: