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]]; 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 |
#2 · Zasláno: 8. 3. 2012, 16:22:28
vypsání proměnné
var_dump($_POST) nebo print_R($_POST)
Pro práci s poli (php5): foreach ($_POST as $key=>$value) { ... } |
||
leonek Profil |
#3 · Zasláno: 8. 3. 2012, 19:11:30
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 |
#4 · Zasláno: 8. 3. 2012, 22:34:57
leonek:
níže uvedená uprava nepomůže ? foreach ( $_POST['pole'] as $data=>$klic ){ foreach ( $klic as $hodnota ){ $cast .= $hodnota."cm "; } } |
||
leonek Profil |
#5 · Zasláno: 9. 3. 2012, 06:28:51
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 |
#6 · Zasláno: 9. 3. 2012, 07:03:57
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 |
#8 · Zasláno: 9. 3. 2012, 08:00:30
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 |
#9 · Zasláno: 9. 3. 2012, 08:00:32
leonek:
foreach ( $_POST['pole'] as $data=>$klic ){ foreach ( $klic[$data] as $hodnota ){ $cast .= $hodnota."cm "; } } |
||
Keeehi Profil |
#10 · Zasláno: 9. 3. 2012, 09:53:47
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 |
#11 · Zasláno: 9. 3. 2012, 15:11:21
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 |
||
Časová prodleva: 11 let
|
0