ey mensen,
ik heb nu een sessie waar meerdere productid's worden ingestopt met tussenvoegsel een "-"
In de pagina winkelmandje wil ik nu alles terug laten komen.
Hoe kan ik dit in een query gaan zetten?
want als ik dit doe:
<?php
$producten = explode("-", $_SESSION['mandje']);
print_r($producten);//print_r laat de inhoud van een arary zien
foreach($producten => $product){ //loop het mandje door
//doe wat je wilt met het product, dit is steeds de volgende id
//als alle id's geweest zijn gaat die verder na de foreach
}
?>
Thanks weer wat geleerd,
Hoe zit dat met foreach foreach kan je toch loopen dat er steeds bijvoorbeeld 1 bijkomt?
$producten en $product.. dit snap ik niet helemaal
Bedenk eerst eens hoe die array eruit moet komen te zien. Data scheiden met een - (of iets anders) is niet zo handig, dan moet je exploden om er iets mee te kunnen doen.
@Frank appeltje eitje is het voor mij zeker niet ;p
zo maak ik mijn sessie aan:
<?php
if (is_numeric($_GET['id']))
{
//kijken of de sessie al gevuld is
if (!isset($_SESSION['mandje']))
{
$_SESSION['mandje'] = $_GET['id'];
}
elseif (isset($_SESSION['mandje']))
{
//nieuwe id aan de sessie toevoegen met - ertussen
$new = "".$_SESSION['mandje']."-".$_GET['id']."";
$_SESSION['mandje'] = $new;
}
}
?>
Dat is dus niet zo handig, zie mijn vorige reactie. Zet een array in de sessie (die overigens ook al een array is...) met de benodigde informatie. Daar heb je veel meer aan, het verwijderen van een artikel wordt dan ook een stuk eenvoudiger.
Begin bij de basis, de juiste data op een eenvoudige manier beschikbaar maken voor jouw code. Een string met een hele serie artikelen is een ramp.
hier komt niks uit, ik dacht dat het zo moest want toen ik mijn array ging echoen kwam er dit uit [0] => 1 - [1] => 156
Dus ik denk dan komt er het zo te staan
$product[0] = 1
$product[1] = 156
maar dat is dus niet zo
Oke ik denk dat je de foreach lus niet helemaal begrijpt, net zoals explode.
Wat je nu doet is dit:
stel, $mandje bevat 3,7
Op lijn 2 maak je een array met de producten array( 3 , 7 )
op lijn 3 doe je dit nog eens in een array, dan bekom je zoiets: array( array( 3 , 7 ) )
op lijn 4 overschrijf je de array van lijn 3. zo werkt een foreach namelijk:
foreach ($array as $value) // voor arrays in de vorm van array(waarde, waarde, waarde), zoals de array in $mandje dus!
foreach ($array as $key => $value) // voor arrays in de vorm van array(key => waarde, key => waarde, key => waarde)