value opvragen dmv van een ander key in een array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ryan L

Ryan L

05/06/2011 15:10:19
Quote Anchor link
Quote:
Array ( [0] => Array ( [id] => 9 [qty] => 1 [price] => 18.00 [info] => MOS [subtotal] => 18 ) [1] => Array ( [id] => 6 [qty] => 1 [price] => 19.00 [info] => White 0 [subtotal] => 19 ) )


Zou iemand mij kunnen uitleggen hoe ik de waarde van [qty] kan opvragen als ik alleen de [id] waarde weet?

alvast bedankt :)
 
PHP hulp

PHP hulp

24/11/2024 07:16:45
 
- Mark -

- Mark -

05/06/2011 15:19:44
Quote Anchor link
Het gaat wel maar dan wel zeer omslachtig. kun je de manier waarop je de array opbouwt nog veranderen?
 
Kumkwat Trender

Kumkwat Trender

05/06/2011 15:29:08
Quote Anchor link
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
26
27
28
29
30
<?php

$array
    =

    array(
        array(
            'id'        => 9,
            'qty'        => 1,
            'price'        => '18.00',
            'info'        => 'MOS',
            'subtotal'    => 18
        ),
        array(
            'id'        => 6,
            'qty'        => 1,
            'price'        => '19.00',
            'info'        => 'White 0',
            'subtotal'    => 19
        )
    );



foreach($array as $line)
{

    if($line['id']==9)
    {

        echo $line['qty'];
    }
}

?>
 
Ryan L

Ryan L

05/06/2011 15:31:01
Quote Anchor link
uhm nee..
ik gebruik deze shopping cart class http://www.webforcecart.com/manual.html en ik wil het liever niet veranderen want anders maak ik het stuk :)

ik heb een if statement gemaakt om te checken of het product op voorraad is maar hij houd dan geen rekening mee met het aantal producten dat al in de shopping cart zit.

Dat probeer ik dus nu te doen..
Zou je me de omslachtige manier kunnen uitleggen dan?

Toevoeging op 05/06/2011 15:32:36:

bedankt kumkwat!
 
- Mark -

- Mark -

05/06/2011 15:33:27
Quote Anchor link
Uit het hoofd dus er kan een foutje in zitten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

    $item_id_to_row_id
= array();

    foreach($array as $row_id => $item_data){
        
        $item_id_to_row_id[$item_data['id']] = $row_id;
    }

    
    echo $array[$item_id_to_row_id[9]]['qty'];
    echo $array[$item_id_to_row_id[6]]['qty'];

?>
Gewijzigd op 05/06/2011 15:34:08 door - Mark -
 
Kumkwat Trender

Kumkwat Trender

05/06/2011 15:34:01
Quote Anchor link
...........

Kijk eens onder het kop "Getting the cart contents"...

het ging om dit gedeelte hé:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
foreach($array as $line)
{

    if($line['id']==9)
    {

        echo $line['qty'];
    }
}

?>
 
Ryan L

Ryan L

05/06/2011 16:08:03
Quote Anchor link
Ik heb nu dit maar het kijkt nog steeds naar de huidige voorraad en haalt dus niet het aantal eraf wat al in de cart zit.
wat doe ik verkeerd?

Quote:
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
<?php
    if(isset($_POST['update']) && ($_POST['id']) && ($_POST['qty'])) {
        $prod_id                 = $_POST['id'];
        $quantity                 = $_POST['qty'];
        $product                 = Product::find_by_id($prod_id);
        $stock_quantity     = $product->quantity;
        $items                    = $cart->get_contents();
        foreach($items as $item) {
            if($item['id']==$prod_id) {
                $cart_quantity = $item['qty'];
            }
        }

        $new_quantity = $stock_quantity - $cart_quantity;
        if($quantity <= $new_quantity) {
            $cart->edit_item($prod_id, $quantity );
        }
else {
            $session->message("Quantity not available.");
            redirect_to("../cart/");        
        }
    }

?>


@mark, bedankt maar jouw manier vind ik een beetje lastig om te begrijpen :P
 
- Mark -

- Mark -

05/06/2011 16:20:33
Quote Anchor link
Het enige dat ik doe is een verwijs array maken zullen we maar zeggen.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

    $item_id_to_row_id
= array();

    foreach($items as $row_id => $item_data){
        
        $item_id_to_row_id[$item_data['id']] = $row_id;
    }

    
    $cart_quantity = $items[$item_id_to_row_id[$prod_id]]['qty'];

?>


Maar dit zal je probleem niet oplossen want het resultaat is hetzelfde.

echo eens wat vars om te kijken of ze wel de waardes hebben die je denkt dat ze hebben. Ik zie zo 1, 2, 3 niets dat fout is.
 
Ryan L

Ryan L

05/06/2011 16:25:27
Quote Anchor link
lol ik kom er net achter dat ik in een ander bestand zat te werken..
ff veranderen

ok het werkt nu, bedankt.
Gewijzigd op 05/06/2011 16:31:01 door Ryan L
 



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.