Goedemorgen,

Ik zit even met een vreemd iets. Ik lees van een externe website een XML in. Hierin staat een inkoopbedrag; voorbeeld:

<xml>
<inkoop>5.11</inkoop>
</xml>


Nu wil ik hier mee gaan rekenen dus ik haal dit bedrag uit de XML:

$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

$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?
Als je gaat rekenen, doe dat dan zonder quotes.
Dank je wel voor je snelle reactie!

Helaas is dit niet de oplossing voor het probleem
Ik vind het wel apart. Misschien even typecasten naar (int)?
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?

[size=xsmall]Toevoeging op 31/03/2017 11:23:55:[/size]

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

Reageren