Array
(
[productId] => 3
[productname] => Test product 2
[quantity] => 2
[price] => 4500
[extra] => M
[description] => Kleding
[vatCode] => H
)
Array
(
[maten0] => Array
(
[One-Size] =>
[XS] =>
[S] =>
[M] => 20
[L] =>
[XL] =>
[XXL] =>
)
)
De maten0 array heb ik nu voor het gemak even omgevormd naar een array maar in mijn database staat het opgeslagen als json object. Ik wil graag dat bij onderstaande array 2 van [M] wordt afgehaald omdat in de bovenste array staat dat er bij de bestelling een quantity van 2 is gekocht met maat M (key 'extra').
Via de volgende code krijg ik bovenstaande arrays:
<?PHP
foreach($prodinfojson as $prodinfo){
if(!empty($prodinfo['extra'])){
$extra = ' - '.$prodinfo['extra'];
}
//Get stock and sizes
$getstock = 'SELECT * FROM snm_fields_values WHERE item_id = "'.$conn->real_escape_string($prodinfo['productId']).'" AND field_id = 8';
$getstockcon = $conn->query($getstock);
$getstock = $getstockcon->fetch_assoc();
$getstock = json_decode($getstock['value'], true);
echo '<pre>';
print_r($prodinfo);
echo '</pre>';
echo '<pre>';
print_r($getstock);
echo '</pre>';
}
?>
Ik moet dus het json object omzetten naar een php array wat ik nu al doe, daar de stock updaten door het aantal dat is besteld bij de juiste maat eraf te halen, dan de array terugzetten naar een json object en die updaten in mijn database. Dit is hoe het is opgeslagen in mijn database: {"maten0":{"One-Size":"","XS":"","S":"","M":"20","L":"","XL":"","XXL":""}}
Het meeste hiervan lukt me wel alleen heb ik wat problemen met het aftrekken van de maat. Hoe kan ik dat op de juiste manier doen? In de array mag de stock ook niet beneden de 0 gaan.