login  Naam:   Wachtwoord: 
Registreer je!
 Forum

$_POST als array?

Offline lasdesigner - 16/04/2008 18:55 (laatste wijziging 17/04/2008 01:25)
Avatar van lasdesignerPHP beginner Hallo!
Ik heb het volgende probleem.

Ik heb een form met daarin:

  1. <?php
  2. $aantalArtikel = $shop->GetAantal($b[$i]['pid']);
  3. echo "<input type='hidden' name='product[id][]' value='".$b[$i]['pid']."'>";
  4. echo "<br /><input type='text' name='product[amount][]' value='".$aantalArtikel."' size='3' />";
  5. ?>


Nu wil ik de $_POST uitlezen. Dus ik wil iets krijgen als:

Array(
id => Array(
0 => 3
1 => 7
)
amount => Array(
0 => 24
1 => 451
)
)

Doe ik hetvolgende:

  1. <?php
  2. echo "<pre>";
  3. echo $_POST['product'];
  4. echo "</pre>";
  5. ?>


Maar hij laat alleen maar "Array" zien. Meer niet?
Hoe kan ik het nu uitlezen?

6 antwoorden

Gesponsorde links
Offline Grayen - 16/04/2008 18:56
Avatar van Grayen PHP ver gevorderde
  1. echo '<pre>'.print_r($_POST['product'], true).'</pre>';
Offline lemoinet - 16/04/2008 18:56
Avatar van lemoinet PHP gevorderde
  1. <?php
  2. echo "<pre>";
  3. print_r($_POST['product']);
  4. echo "</pre>";
  5. ?>
Offline Koen - 16/04/2008 18:57
Avatar van Koen PHP expert Een array kan je niet uitprinten met een echo.
Volg eens een tutorial als je niet weet hoe je moet arrays moet werken ;)
Wanneer je gewoon de output wil printen gebruik dan een van volgende functies:
PHP.net: print_r
PHP.net: var_dump
Offline lasdesigner - 16/04/2008 18:58 (laatste wijziging 16/04/2008 19:03)
Avatar van lasdesigner PHP beginner best dom, ashame .. Bedankt voor snelle reacties.

edit

heb ik nog een vraag.

Dan krijg ik dus dit eruit:

array(2) {
["id"]=>
array(2) {
[0]=>
string(2) "32"
[1]=>
string(2) "31"
}
["amount"]=>
array(2) {
[0]=>
string(1) "1"
[1]=>
string(1) "1"
}
}

Maar hoe kan ik nu een query maken. Die dat goed uitleest (hij moet dus de nieuwe waardes, bij de id's neerzetten.

Kan dat zo:

  1. <?php
  2. for($i=0;$i<count($array);$i++) {
  3. $query = "
  4. UPDATE
  5. payments
  6. SET
  7. aantal = ".$array[$i]['amount']."
  8. WHERE
  9. id = ".$array[$i]['id']."";
  10. }
  11.  
  12. ?>
Offline Koen - 16/04/2008 19:04
Avatar van Koen PHP expert door je array loopen mbv PHP.net: foreach en in die loop telkens je query uitvoeren.
Offline lasdesigner - 16/04/2008 19:08
Avatar van lasdesigner PHP beginner Hmm zoiets?

  1. <?php
  2. public function Update($array) {
  3. foreach($array as $key=>$value) {
  4. $query = "
  5. UPDATE
  6. payments
  7. SET
  8. aantal = ".$value['amount']."
  9. WHERE
  10. id = ".$value['id'];
  11. DBM::execute($query);
  12. }
  13. }
  14. ?>

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.239s