Waarden in array en weer uitlezen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kees

kees

03/10/2004 16:43:00
Quote Anchor link
Hallo mensen,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
?>


dit geeft mij als resultaat bij 3 bestelde producten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
Array
(
    [
sessieID] => b76b2e48c4fd60b909db3be6fcbc4ec2
    [besteldeproducten] => Array
        (
            [
0] => Array
                (
                    [
aantal] => Array
                        (
                            [
0] => 51
                            [1] => 64
                            [2] => 80
                        )
                    [
produktnaam] => Array
                        (
                            [
0] => Cabernet Sauvignon Chiraz
                            [1] => Merlot
                            [2] => River Red
                        )
                    [
Submit] => Werk aantallen bij
                )
        )
)

?>


De actie van het formulier is server php_self.
onderin de pagina heb ik dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'];
}

?>


Maar dan krijg ik alleen 1x Array geprint.

Kunnen jullie mij verder helpen?
Gewijzigd op 03/10/2004 17:18:00 door Kees
 
PHP hulp

PHP hulp

27/12/2024 13:48:14
 
Mary

mary

04/10/2004 12:16:00
Quote Anchor link
Is toch ook normaal
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
Array
(
    [
sessieID] => b76b2e48c4fd60b909db3be6fcbc4ec2
    [besteldeproducten] => Array
        (
            [
0] => Array
                (
                    [
aantal] => Array
                        (
                            [
0] => 51
                            [1] => 64
                            [2] => 80
                        )
                    [
produktnaam] => Array
                        (
                            [
0] => Cabernet Sauvignon Chiraz
                            [1] => Merlot
                            [2] => River Red
                        )
                    [
Submit] => Werk aantallen bij
                )
        )
)

?>

Je hebt maar 1 index (nl. 0) in 'besteldeproducten' dus ook maar 1x foreach en maar 1x een id.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.