Waarden in array en weer uitlezen
Ik ben bezig met een script om de aantallen van een bestelling na een druk op een knop te updaten in de db en dan het formulier te herladen met de nieuwe gegevens .
De waarden die gewijzigd moeten worden heb ik in een sessie array gezet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<? session_start();
//eerst de oude sessie array variabelen legen als ze bestaan
if(isset($_SESSION['besteldeproducten'])) {
unset($_SESSION['besteldeproducten']);
unset($_SESSION['product']);
unset($_SESSION['aantal']);
}
//sessie variabelen opnieuw zetten
$_SESSION['besteldeproducten'][]= $_POST;
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
?>
//eerst de oude sessie array variabelen legen als ze bestaan
if(isset($_SESSION['besteldeproducten'])) {
unset($_SESSION['besteldeproducten']);
unset($_SESSION['product']);
unset($_SESSION['aantal']);
}
//sessie variabelen opnieuw zetten
$_SESSION['besteldeproducten'][]= $_POST;
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
?>
dit geeft mij als resultaat bij 3 bestelde producten:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
De actie van het formulier is server php_self.
onderin de pagina heb ik dan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?
if($_SERVER['REQUEST_METHOD']=='POST'){
mysql_connect($host, $user, $password) or die('Kon geen contact maken met de database.');
mysql_select_db($DBname) or die(mysql_error());
if(isset($_POST["Submit"])=="Werk aantallen bij") {
foreach($_SESSION['besteldeproducten'] as $id => $produkt) {
echo $produkt['produktnaam'];
echo $produkt['aantal'];
}
?>
if($_SERVER['REQUEST_METHOD']=='POST'){
mysql_connect($host, $user, $password) or die('Kon geen contact maken met de database.');
mysql_select_db($DBname) or die(mysql_error());
if(isset($_POST["Submit"])=="Werk aantallen bij") {
foreach($_SESSION['besteldeproducten'] as $id => $produkt) {
echo $produkt['produktnaam'];
echo $produkt['aantal'];
}
?>
Maar dan krijg ik alleen 1x Array geprint.
Kunnen jullie mij verder helpen?
Gewijzigd op 03/10/2004 17:18:00 door Kees
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Je hebt maar 1 index (nl. 0) in 'besteldeproducten' dus ook maar 1x foreach en maar 1x een id.