PHP punten vervangen door komma's.
Ik heb een webshop dat op maat is gemaakt, alles werkt naar behoring. Zelf heb ik getest via PhpMyAdmin daar had ik voor effe paar prijzen aangepast van 10,75 en dat pakte in front-end, nadat product was besteld verdwijnde komma weer in de winkelwagen. Via admin paneel zag je dat komma daar ook pakte, maar als je met komma wilt opslaan dan krijg je een melding dat de prijs niet klopt.
Ik heb met PHP geprobeerd om 1 voor 1 de prijzen aan te passen, maar niks is gelukt ik heb zeker meer dan 6 soorten gevonden en allemaal had ik bij elke prijzen geprobeerd, javascripts had ik in bestaande javascript geplakt en dat werkt ook al niet.
Heeft iemand een idee om dit op te lossen of is er manier met javascript dat alle prijzen vanzelf aangepast wordt?
Als je klaar bent met het rekenen, dan kan keer in PHP met de functie number_format() drum eigen opmaak hebben met komma's.
Gewijzigd op 30/01/2014 13:11:30 door - Ariën -
Johan de wit op 30/01/2014 13:00:43:
De beste wensen nog (ik ben hier nog nieuw),
Ik heb een webshop dat op maat is gemaakt, alles werkt naar behoring. Zelf heb ik getest via PhpMyAdmin daar had ik voor effe paar prijzen aangepast van 10,75 en dat pakte in front-end, nadat product was besteld verdwijnde komma weer in de winkelwagen. Via admin paneel zag je dat komma daar ook pakte, maar als je met komma wilt opslaan dan krijg je een melding dat de prijs niet klopt.
Ik heb met PHP geprobeerd om 1 voor 1 de prijzen aan te passen, maar niks is gelukt ik heb zeker meer dan 6 soorten gevonden en allemaal had ik bij elke prijzen geprobeerd, javascripts had ik in bestaande javascript geplakt en dat werkt ook al niet.
Heeft iemand een idee om dit op te lossen of is er manier met javascript dat alle prijzen vanzelf aangepast wordt?
Ik heb een webshop dat op maat is gemaakt, alles werkt naar behoring. Zelf heb ik getest via PhpMyAdmin daar had ik voor effe paar prijzen aangepast van 10,75 en dat pakte in front-end, nadat product was besteld verdwijnde komma weer in de winkelwagen. Via admin paneel zag je dat komma daar ook pakte, maar als je met komma wilt opslaan dan krijg je een melding dat de prijs niet klopt.
Ik heb met PHP geprobeerd om 1 voor 1 de prijzen aan te passen, maar niks is gelukt ik heb zeker meer dan 6 soorten gevonden en allemaal had ik bij elke prijzen geprobeerd, javascripts had ik in bestaande javascript geplakt en dat werkt ook al niet.
Heeft iemand een idee om dit op te lossen of is er manier met javascript dat alle prijzen vanzelf aangepast wordt?
Welkom op het forum!
Eerst is het belangrijk hoe je de prijzen opslaat in je database.
Volgens mij is het beste dit als de DECIMAL(10,2) op te slaan.
Je zou de prijs dan bij het ophalen kunnen aanpassen naar een komma.
In mysql
Of in php met number_format()
Michael - op 30/01/2014 13:09:31:
Welkom op het forum!
Eerst is het belangrijk hoe je de prijzen opslaat in je database.
Volgens mij is het beste dit als de DECIMAL(10,2) op te slaan.
Je zou de prijs dan bij het ophalen kunnen aanpassen naar een komma.
In mysql
Of in php met number_format()
Johan de wit op 30/01/2014 13:00:43:
De beste wensen nog (ik ben hier nog nieuw),
Ik heb een webshop dat op maat is gemaakt, alles werkt naar behoring. Zelf heb ik getest via PhpMyAdmin daar had ik voor effe paar prijzen aangepast van 10,75 en dat pakte in front-end, nadat product was besteld verdwijnde komma weer in de winkelwagen. Via admin paneel zag je dat komma daar ook pakte, maar als je met komma wilt opslaan dan krijg je een melding dat de prijs niet klopt.
Ik heb met PHP geprobeerd om 1 voor 1 de prijzen aan te passen, maar niks is gelukt ik heb zeker meer dan 6 soorten gevonden en allemaal had ik bij elke prijzen geprobeerd, javascripts had ik in bestaande javascript geplakt en dat werkt ook al niet.
Heeft iemand een idee om dit op te lossen of is er manier met javascript dat alle prijzen vanzelf aangepast wordt?
Ik heb een webshop dat op maat is gemaakt, alles werkt naar behoring. Zelf heb ik getest via PhpMyAdmin daar had ik voor effe paar prijzen aangepast van 10,75 en dat pakte in front-end, nadat product was besteld verdwijnde komma weer in de winkelwagen. Via admin paneel zag je dat komma daar ook pakte, maar als je met komma wilt opslaan dan krijg je een melding dat de prijs niet klopt.
Ik heb met PHP geprobeerd om 1 voor 1 de prijzen aan te passen, maar niks is gelukt ik heb zeker meer dan 6 soorten gevonden en allemaal had ik bij elke prijzen geprobeerd, javascripts had ik in bestaande javascript geplakt en dat werkt ook al niet.
Heeft iemand een idee om dit op te lossen of is er manier met javascript dat alle prijzen vanzelf aangepast wordt?
Welkom op het forum!
Eerst is het belangrijk hoe je de prijzen opslaat in je database.
Volgens mij is het beste dit als de DECIMAL(10,2) op te slaan.
Je zou de prijs dan bij het ophalen kunnen aanpassen naar een komma.
In mysql
Of in php met number_format()
Dankjewel.
Idd ik heb decimal op 10,2 staan.
Replace in database heb ik nog geprobeerd, in het PHP wel maar dat werkte niet en zelf met landcode werkte het niet.
Toevoeging op 30/01/2014 13:18:16:
- Aar - op 30/01/2014 13:09:20:
In de wereld van het programmeren worden altijd punten gebruikt voor de decimalen. Dus ik raad je met klem aan om deze in keer programmacode te gebruiken. In MySql Is dit het type FLOAT.
Als je klaar bent met het rekenen, dan kan keer in PHP met de functie number_format() drum eigen opmaak hebben met komma's.
Als je klaar bent met het rekenen, dan kan keer in PHP met de functie number_format() drum eigen opmaak hebben met komma's.
Dankjewel.
Oke, ik zal FLOAT uitproberen. Is DRUM decimaal instellen?
Wat heb je dan precies geprobeerd? Kan je dat graag laten zien?
Johan de wit op 30/01/2014 13:15:42:
Dankjewel.
Idd ik heb decimal op 10,2 staan.
Replace in database heb ik nog geprobeerd, in het PHP wel maar dat werkte niet en zelf met landcode werkte het niet.
Idd ik heb decimal op 10,2 staan.
Replace in database heb ik nog geprobeerd, in het PHP wel maar dat werkte niet en zelf met landcode werkte het niet.
Replace gebruik je dan bij de select he. Dus je query wordt iets als
number_format zou ook moeten werken.
Landcode heeft met replace en number_format niks te maken. Wel met money_format.
- SanThe - op 30/01/2014 13:12:04:
Een getal heeft nooit een komma alleen bij het presenteren aan de gebruiker.
http://nl3.php.net/manual/en/function.money-format.php
http://nl3.php.net/manual/en/function.money-format.php
Dit heb ik ook al geprobeerd.
@Aar; waarom kies jij FLOAT? Zover ik kan vinden wordt dit juist afgeraden vanwege het vage afronden waardoor je prijzen onjuist kunnen zijn. DECIMAL wordt hiervoor geadviseerd.
Je hebt helemaal gelijk. Sorry...
- Aar - op 30/01/2014 13:26:27:
Je hebt helemaal gelijk. Sorry...
Dus dan blijven wij bij DECIMAL?
Johan: Ja. Kun je wat duidelijker zijn wat er fout gaat? Als het heb je nou in je database een veld met het type DECIMAL(10,2) met daar prijzen als 123433.33 (max 10 cijfers gevolgd door een punt en 2 cijfers) Deze haal je op met een SELECT en dan de waarde die daaruit komt daar voeg je de functie number_format aan toe
en wat komt er dan uit?
Michael - op 30/01/2014 13:39:47:
Aar: Geen probleem. Dat er geen verwarring hierover ontstaat :)
Johan: Ja. Kun je wat duidelijker zijn wat er fout gaat? Als het heb je nou in je database een veld met het type DECIMAL(10,2) met daar prijzen als 123433.33 (max 10 cijfers gevolgd door een punt en 2 cijfers) Deze haal je op met een SELECT en dan de waarde die daaruit komt daar voeg je de functie number_format aan toe
en wat komt er dan uit?
Johan: Ja. Kun je wat duidelijker zijn wat er fout gaat? Als het heb je nou in je database een veld met het type DECIMAL(10,2) met daar prijzen als 123433.33 (max 10 cijfers gevolgd door een punt en 2 cijfers) Deze haal je op met een SELECT en dan de waarde die daaruit komt daar voeg je de functie number_format aan toe
en wat komt er dan uit?
Ik heb precies hoe je aan mij hebt uitgelegd, wat komt tussen []? Dat heb ik namelijk nog niet uitgeprobeert. Webshop is 90 procent in class gemaakt.
Toevoeging op 30/01/2014 13:53:22:
Dit is een hele lange class met addons en winkelwagen.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$sel_menu = "SELECT id, menu_name, menu_category, menu_type, menu_price, menu_description, menu_popular_dish, menu_spicy, menu_photo FROM ".$CFG['table']['restaurant_menu']." WHERE restaurant_id = '".$restaurantid."' AND menu_category = '".$catid."' AND status = '1' ".$cond." ORDER BY menu_category ASC ";
#echo $sel_menu;
//$res_menu = $this->ExecuteQuery($sel_menu,'select');
echo number_format($sel_menu['SELECT'], 2, ',', ' ');
#echo "<pre>";print_r($res_menu);echo "</pre>";
$objSmarty->assign("categoryMenuList", $res_menu);
?>
$sel_menu = "SELECT id, menu_name, menu_category, menu_type, menu_price, menu_description, menu_popular_dish, menu_spicy, menu_photo FROM ".$CFG['table']['restaurant_menu']." WHERE restaurant_id = '".$restaurantid."' AND menu_category = '".$catid."' AND status = '1' ".$cond." ORDER BY menu_category ASC ";
#echo $sel_menu;
//$res_menu = $this->ExecuteQuery($sel_menu,'select');
echo number_format($sel_menu['SELECT'], 2, ',', ' ');
#echo "<pre>";print_r($res_menu);echo "</pre>";
$objSmarty->assign("categoryMenuList", $res_menu);
?>
- Aar -:
In overleg de code ingekort.
Gewijzigd op 02/02/2014 20:51:27 door - Ariën -
Hoe het precies bij een class zit weet ik niet.
Code (php)
1
2
3
4
5
2
3
4
5
$row = $mysqli->query('SELECT product,prijs,omschrijving FROM producten');
echo $row['product'];
echo $row['omschrijving'];
echo number_format($row['prijs'], 2, ',', ' ');
echo $row['product'];
echo $row['omschrijving'];
echo number_format($row['prijs'], 2, ',', ' ');
Edit:
Bij jou is dat menu_price of offer_price o.i.d.
Bij jou is dat menu_price of offer_price o.i.d.
Gewijzigd op 30/01/2014 13:56:53 door Michael -
Michael - op 30/01/2014 13:53:35:
tussen [] is de naam van het veld dat je ophaalt
Hoe het precies bij een class zit weet ik niet.
Hoe het precies bij een class zit weet ik niet.
Code (php)
1
2
3
4
5
2
3
4
5
$row = $mysqli->query('SELECT product,prijs,omschrijving FROM producten');
echo $row['product'];
echo $row['omschrijving'];
echo number_format($row['prijs'], 2, ',', ' ');
echo $row['product'];
echo $row['omschrijving'];
echo number_format($row['prijs'], 2, ',', ' ');
Edit:
Bij jou is dat menu_price of offer_price o.i.d.
Bij jou is dat menu_price of offer_price o.i.d.
Oke ik snap het al zal het proberen dankjewel.
Dan heb ik nog een vraagje, moet ik dit bij elke bedragen en totale bedragen of is bij totale bedragen niet noodzakelijk?
Gewijzigd op 30/01/2014 14:01:32 door johan de wit
Johan de wit op 30/01/2014 13:58:19:
Oke ik snap het al zal het proberen dankjewel.
Dan heb ik nog een vraagje, moet ik dit bij elke bedragen en totale bedragen of is bij totale bedragen niet noodzakelijk?
Michael - op 30/01/2014 13:53:35:
tussen [] is de naam van het veld dat je ophaalt
Hoe het precies bij een class zit weet ik niet.
Hoe het precies bij een class zit weet ik niet.
Code (php)
1
2
3
4
5
2
3
4
5
$row = $mysqli->query('SELECT product,prijs,omschrijving FROM producten');
echo $row['product'];
echo $row['omschrijving'];
echo number_format($row['prijs'], 2, ',', ' ');
echo $row['product'];
echo $row['omschrijving'];
echo number_format($row['prijs'], 2, ',', ' ');
Edit:
Bij jou is dat menu_price of offer_price o.i.d.
Bij jou is dat menu_price of offer_price o.i.d.
Oke ik snap het al zal het proberen dankjewel.
Dan heb ik nog een vraagje, moet ik dit bij elke bedragen en totale bedragen of is bij totale bedragen niet noodzakelijk?
Alle bedragen die jij wilt hebben met een komma. Lijkt me netjes om het allemaal het zelfde te doen. Bij elkaar op tellen (totaal) doe je natuurlijk met een punt om vervolgens om te zetten naar een komma.
Michael - op 30/01/2014 14:03:48:
Alle bedragen die jij wilt hebben met een komma. Lijkt me netjes om het allemaal het zelfde te doen. Bij elkaar op tellen (totaal) doe je natuurlijk met een punt om vervolgens om te zetten naar een komma.
Johan de wit op 30/01/2014 13:58:19:
Oke ik snap het al zal het proberen dankjewel.
Dan heb ik nog een vraagje, moet ik dit bij elke bedragen en totale bedragen of is bij totale bedragen niet noodzakelijk?
Michael - op 30/01/2014 13:53:35:
tussen [] is de naam van het veld dat je ophaalt
Hoe het precies bij een class zit weet ik niet.
Hoe het precies bij een class zit weet ik niet.
Code (php)
1
2
3
4
5
2
3
4
5
$row = $mysqli->query('SELECT product,prijs,omschrijving FROM producten');
echo $row['product'];
echo $row['omschrijving'];
echo number_format($row['prijs'], 2, ',', ' ');
echo $row['product'];
echo $row['omschrijving'];
echo number_format($row['prijs'], 2, ',', ' ');
Edit:
Bij jou is dat menu_price of offer_price o.i.d.
Bij jou is dat menu_price of offer_price o.i.d.
Oke ik snap het al zal het proberen dankjewel.
Dan heb ik nog een vraagje, moet ik dit bij elke bedragen en totale bedragen of is bij totale bedragen niet noodzakelijk?
Alle bedragen die jij wilt hebben met een komma. Lijkt me netjes om het allemaal het zelfde te doen. Bij elkaar op tellen (totaal) doe je natuurlijk met een punt om vervolgens om te zetten naar een komma.
Nogmaals bedankt. Je hoort van mij nog als het gelukt is en ook als het niet werkt.
Het maakt het topic onnodig lang en lastig om te zien waar wordt gereageerd.
Denk je dat 1100+ regels allemaal relevante code is? ;-)
Ik dacht hoe meer hoe beter het is want dadelijk haal ik een deecode weg wat juist nodig is.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$sel_menu = "SELECT id, menu_name, menu_category, menu_type, menu_price, menu_description, menu_popular_dish, menu_spicy, menu_photo FROM ".$CFG['table']['restaurant_menu']." WHERE restaurant_id = '".$restaurantid."' AND menu_category = '".$catid."' AND status = '1' ".$cond." ORDER BY menu_category ASC ";
#echo $sel_menu;
$res_menu = $this->ExecuteQuery($sel_menu,'select');
//echo number_format($sel_menu['SELECT'], 2, ',', ' ');
echo number_format($sel_menu['menu_price'], 2, ',', ' ');
#echo "<pre>";print_r($res_menu);echo "</pre>";
$objSmarty->assign("categoryMenuList", $res_menu);
#echo $sel_menu;
$res_menu = $this->ExecuteQuery($sel_menu,'select');
//echo number_format($sel_menu['SELECT'], 2, ',', ' ');
echo number_format($sel_menu['menu_price'], 2, ',', ' ');
#echo "<pre>";print_r($res_menu);echo "</pre>";
$objSmarty->assign("categoryMenuList", $res_menu);
Ik krijg een foutmelding en dat krijg ik niet weg.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$sel_menu = "SELECT id, menu_name, menu_category, menu_type, menu_price, menu_description, menu_popular_dish, menu_spicy, menu_photo FROM ".$CFG['table']['restaurant_menu']." WHERE restaurant_id = '".$restaurantid."' AND menu_category = '".$catid."' AND status = '1' ".$cond." ORDER BY menu_category ASC ";
#echo $sel_menu;
$res_menu = $this->ExecuteQuery($sel_menu,'select');
//echo number_format($sel_menu['SELECT'], 2, ',', ' ');
echo number_format($res_menu['menu_price'], 2, ',', ' ');
#echo "<pre>";print_r($res_menu);echo "</pre>";
$objSmarty->assign("categoryMenuList", $res_menu);
#echo $sel_menu;
$res_menu = $this->ExecuteQuery($sel_menu,'select');
//echo number_format($sel_menu['SELECT'], 2, ',', ' ');
echo number_format($res_menu['menu_price'], 2, ',', ' ');
#echo "<pre>";print_r($res_menu);echo "</pre>";
$objSmarty->assign("categoryMenuList", $res_menu);
Hiermee krijg ik 0,00
Gewijzigd op 02/02/2014 14:56:18 door johan de wit
Dit: $sel_menu['menu_price'] is blijkbaar een string en geen getal.