Autor Zpráva
leonek
Profil
Dobrý den,

mám problém zvolit správnou funkci pro čtení vícerozměrového pole z proměnné POST.

formulář:
for ($a = 1; $a <= $_POST[$data['id']]; $a++){

  echo "<input type=text name=pole[".$data['id']."][".$a."]>";

}

Zkoušel jsem ručně (2. script)
echo $_POST["pole".$data['id'][1]];
vypsalo "Array"

Předpokládám fci foreach či implode. Bohužel nevím jak na vícerozměrové pole s těmito funkcemi.
Děkuji
nethor
Profil
vypsání proměnné var_dump($_POST) nebo print_R($_POST)

Pro práci s poli (php5):
foreach ($_POST as $key=>$value) { ... }
a pro vícerozměrná vnořit další foreach .
leonek
Profil
Toto nefunguje:
foreach ( $_POST['pole'] as $data['id']=>$klic ){

  foreach ( $klic as $hodnota ){
  
    $cast .= $hodnota."cm ";
  
            }
      }

Sice vypíše celý obsah pole, ale ignoruje klíč $data['id']. Vypíše celé pole ke všem produktům na stránce.
Taps
Profil
leonek:
níže uvedená uprava nepomůže ?
foreach ( $_POST['pole'] as $data=>$klic ){
 
  foreach ( $klic as $hodnota ){
  
    $cast .= $hodnota."cm ";
  
            }
      }
leonek
Profil
Taps:
Nepomohla, pravděpodobně z toho důvodu, že v tomto formátu ($data['id']) obsahuje ID produktu z databáze, které je 1. rozměrem pole.
Taps
Profil
leonek:
hod jsem strukturu, ktrerou ti vypíše
print_R($_POST) ;
leonek
Profil
Toto je výtažek z $_POSTu, o který se jedná:

[pole] => Array
(
[1] => Array
(
[1] => 1
[2] => 2
)

[2] => Array
(
[1] => 3
[2] => 4
[3] => 5
)

)
Ugo
Profil
Ten kód s foreach vůbec nedává smysl, $cast bude rust bez ohledu na to z čeho roste, klíč ($data=>) je tam naprosto zbytečně - a název proměnných je prohozen :)
na začátku to dostane jednu proměnnou nezávislou na produktu a na konci vyleze to samé, nevím jak je umístěno v kódu, ale mohlo by pomoct před vnořeným foreach proměnnou resetovat ($cast = "") případně jí uložit jako pole s ID jako klíčem čili $čast[$data] .= $hodnota;
Taps
Profil
leonek:
foreach ( $_POST['pole'] as $data=>$klic ){
 
  foreach ( $klic[$data] as $hodnota ){
  
    $cast .= $hodnota."cm ";
  
            }
      }
Keeehi
Profil
Taps:
To nebude správné řešení. (snažíš se procházet 3rozměrné pole)

leonek:
Pořád nechápu, co se má s tím polem udělat. Co se z něho má kde vypisovat.
leonek
Profil
Vysvětlím to lépe:
Na první stránce mám formulář, ze kterého vystupuje pole jehož identifikátor je id produktu z db a hodnotou je počet kusů.
Na Další stránce je tento [#1] cyklus na vytvoření takového počtu polí u požadovaných produktů, kolik je požadovaných kusů jednoho produktu.
Na třetí stránce je rekapitulace objednávky. Na tuto stránku právě potřebuji dostat z těch inputů vypsaných cyklem, hodnoty tam kam je na předchozí stránce zapsal uživatel.

Testuji to zde:
www.ranka.cz/kameny/index1.php

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0