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?
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

$prijs = number_format($rijuitjedatabase['prijs'], 2, ',', ' ');
echo $prijs;

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

$prijs = number_format($rijuitjedatabase['prijs'], 2, ',', ' ');
echo $prijs;

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.


<?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);
?>


tussen [] is de naam van het veld dat je ophaalt
Hoe het precies bij een class zit weet ik niet.

$row = $mysqli->query('SELECT product,prijs,omschrijving FROM producten');

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.
[/edit]
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.

$row = $mysqli->query('SELECT product,prijs,omschrijving FROM producten');

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.
[/edit]

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?
Johan de wit op 30/01/2014 13:58:19

[quote="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.

$row = $mysqli->query('SELECT product,prijs,omschrijving FROM producten');

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.
[/edit]

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?
[/quote]
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

[quote="Johan de wit op 30/01/2014 13:58:19"]
[quote="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.

$row = $mysqli->query('SELECT product,prijs,omschrijving FROM producten');

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.
[/edit]

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?
[/quote]
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.


[/quote]
Nogmaals bedankt. Je hoort van mij nog als het gelukt is en ook als het niet werkt.
Offtopic: het steeds volledig quoten van een reactie is niet echt zinvol.
Het maakt het topic onnodig lang en lastig om te zien waar wordt gereageerd.

Denk je dat 1100+ regels allemaal relevante code is? ;-)
Obelix en idefix zoals je weet ben ik hier nieuw, 24 uur is niet eens vol maar goed ik zal daar aan denken dankjewel.

Ik dacht hoe meer hoe beter het is want dadelijk haal ik een deecode weg wat juist nodig is.

$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);


Ik krijg een foutmelding en dat krijg ik niet weg.


Warning: number_format() expects parameter 1 to be double, string given in



$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);


Hiermee krijg ik 0,00
Dit: $sel_menu['menu_price'] is blijkbaar een string en geen getal.

Reageren