Door
Co Vanenwijk
op 03-01-2013 18:32
gewijzigd op 03-01-2013 18:47
1.343 views
Beste mensen, ik weet niet helemaal hoe ik het moet uitleggen (en waarschijnlijk is er ook een simpele oplossing voor, maar via google dan niet de juiste zoekwoorden kunnen bedenken) en ben al helemaal geen PHP-pro maar stel hier toch maar de vraag:
Ik wil data uit een cookie vergelijken met een keuze lijst die gemaakt wordt door een While-lus
Cookie data:
Array ( [cart] => 2,10|4,16|99,3
2,10 (2 staat voor modelnummer, 10 voor aantal)
Nu begrijp ik dat ik deze data moet opvragen en explode.
<?php
$cart = explode("|",$_SESSION['cart']);
$productIds = array();
foreach($cart as $products) {
$product = explode(",",$products);
$productIds[] = $product[0]; //productIds bevat nu alle product ids.
}
//hier ergens je while lus
if(in_array($idDatJeUitDeDatabaseHebt, $productsIds)) {
echo $idDatJeUitDeDatabaseHebt.' zit al in je shopping cart! <br />'
}
?>
wat ik me afvraag is waarom je die modelnummers en aantal zo raar in die sessie zet
waarom doe je niet zoiets?
<?php
$_SESSION['shopping_cart'] = array(
array('id'=>2,'amount'=>10),
array('id'=>4,'amount'=>16),
array('id'=>99,'amount'=3)
?>
oftewel, een multidimensionale array.
Wellicht dat ik in de war ben door de naamgeving van de tabellen, maar volgens mij vergelijk je een optie_id met een product_id (tenzij je maar één product verkoopt)