Fout bij rekenen met bedrag uit XML

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marko Westerveld

Marko Westerveld

31/03/2017 09:40:45
Quote Anchor link
Goedemorgen,

Ik zit even met een vreemd iets. Ik lees van een externe website een XML in. Hierin staat een inkoopbedrag; voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<xml>
<inkoop>5.11</inkoop>
</xml>


Nu wil ik hier mee gaan rekenen dus ik haal dit bedrag uit de XML:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$inkoop = $xml->inkoop;


Dit bedrag sla ik op in mijn mysql database, gaat helemaal goed, er staat netjes 5.11

Tot zover gaat het goed, maar dan wil ik mijn verkoopprijs berekenen. Stel ik wil een marge van 1.68, dus doe het volgende
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$verkoop = $inkoop + '1.68';

En sla dit op in mijn database dan staat er als uitkomst: 6.68 ipv 6.79

Wat doe ik fout?
 
PHP hulp

PHP hulp

25/12/2024 07:51:27
 
- Ariën  -
Beheerder

- Ariën -

31/03/2017 09:50:14
Quote Anchor link
Als je gaat rekenen, doe dat dan zonder quotes.
 
Marko Westerveld

Marko Westerveld

31/03/2017 09:59:39
Quote Anchor link
Dank je wel voor je snelle reactie!

Helaas is dit niet de oplossing voor het probleem
 
- Ariën  -
Beheerder

- Ariën -

31/03/2017 10:57:56
Quote Anchor link
Ik vind het wel apart. Misschien even typecasten naar (int)?
 
Ivo P

Ivo P

31/03/2017 11:23:14
Quote Anchor link
Ik zou dan doen:

UPDATE tabel
SET verkoop = inkoop + 1.68
WHERE ...

Nu heb je kennelijk eerst een SELECT query gebruikt om $inkoop van een waarde te voorzien
(check 1: zet er in $inkoop 5 of 5.11?)

Daarna doe je een optelling
check 2: zit er nu in $verkoop 6.68 of 6.79?


En vervolgens zul je nog ergens een update query doen
Zet die ook eens op het scherm.

---
daarbij zou je ook kunnen overwegen om de gewenste marge op te slaan en niet de verkoopprijs.
Als je volgende week en partij artikelen inkoop voor 5.15, moet je dan je verkoopprijs opnieuw bepalen?

Toevoeging op 31/03/2017 11:23:55:

- Ariën - op 31/03/2017 10:57:56:
Ik vind het wel apart. Misschien even typecasten naar (int)?


zodat er 5 + 1 = 6 uitkomt?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.