Autor | Zpráva | ||
---|---|---|---|
Pospa Profil * |
#1 · Zasláno: 19. 5. 2010, 21:20:19
Dobrý den,
mám problém, nevim, jak udělat, aby proměna $x1 vzala přes POST z políčka s názvem x1, $x2 z políčka s názvem x2... tady to dole kupodivu nefunkuje, poradil by mi pls někdo?? for($c=1; $c<$pocet; $c++){ $x.$c = $_POST['x'.$c]; } |
||
panther Profil |
#2 · Zasláno: 19. 5. 2010, 21:21:58
Pospa:
co je v proměnné pocet? zápis $x.$c taky fungovat nebude. Jakmile musíš číslovat proměnné, je něco špatně. Podívej se na pole. |
||
Pospa Profil * |
#3 · Zasláno: 19. 5. 2010, 21:29:20
no, já mám v formuláři neurčitej počet políček (je tam tlačítko na přidávání) a já potřebuju dostat do databáze všechny, $počet je počet políček + 1
|
||
mattyZEM Profil |
#4 · Zasláno: 19. 5. 2010, 21:34:54
Pospa:
„$počet je počet políček + 1“ Stačilo by jednoduše upravit $c na 0. $pocet=5; for($c=0; $c<$pocet; $c++){ $x.$c = $_POST['x'.$c]; } |
||
Pospa Profil * |
#5 · Zasláno: 19. 5. 2010, 21:39:01
no, ale to stejně neřeši můj problém s proměnnyma
|
||
mattyZEM Profil |
#6 · Zasláno: 19. 5. 2010, 21:40:48
Pospa:
„no, ale to stejně neřeši můj problém s proměnnyma“ [#2] ti poslal odkaz na funkci, která tvůj problém vyřeší. |
||
Nox Profil |
#7 · Zasláno: 19. 5. 2010, 21:45:15
šmarja...
1) $x je hrozný název pro proměnnou 2) $pocet = 5; $x = array(); for($c=0;$c<$pocet;$c++) $x[$c] = $_POST["x$c"]; // var_dump($x); |
||
__construct Profil |
#8 · Zasláno: 20. 5. 2010, 07:19:10 · Upravil/a: __construct
Pokiaľ som to správne pochopil tak chceš niečo takéto:
extract($_POST,EXTR_OVERWRITE); P.S.: Ale na postované dáta je to nebezpečné .. |
||
davias Profil * |
#9 · Zasláno: 20. 5. 2010, 08:45:08
Dalo by se to i takhle :
for($c=1; $c<$pocet; $c++){ $name = "x".$c; $$name = $_POST['x'.$c]; } nebo for($c=1; $c<$pocet; $c++){ ${"x".$c}= $_POST['x'.$c]; } echo $x1 . $x2 .... |
||
Nox Profil |
#10 · Zasláno: 20. 5. 2010, 10:12:44
davias:
a jak s tím potom budeš pracovat? $x1, $x2, $x3...je prostě fuj a na takové věci bylo vytvořeno pole |
||
Joker Profil |
#11 · Zasláno: 20. 5. 2010, 10:17:54
Pospa:
panther a Nox mají pravdu, na tohle je pole. |
||
davias Profil * |
#12 · Zasláno: 20. 5. 2010, 10:55:22
No pracovat se s tím bude špatně. On chtěl ale vědět jak to udělá tak jsem mu odpověděl ... to že to není nejšťastnější řešení je věc druhá :-)
|
||
Joker Profil |
#13 · Zasláno: 20. 5. 2010, 12:12:51
davias:
Četl jsem kdysi polemiku, zda když problém tazatele je evidentně jen následek špatného rozhodnutí někdy dříve, je správné řešit problém na který se tazatel ptá, nebo ho upozornit na špatný návrh aplikace. Typický příklad tady je něco jako Jak v SQL vybrat sloupce začínající určitým textem? Mám v tabulce sloupce jmeno_1 až jmeno_n, nevím kolik jich celkem je a chci je všechny vybrat - je správné řešit to na co se tazatel ptá, tj. jak vybrat ty sloupce, nebo tazatelův skutečný problém, tj. že nejspíš ta databáze je úplně špatně navržená? Jsem zastáncem toho druhého přístupu, raději než komplikovaně řešit problémy, které by při správném návrhu vůbec neexistovaly. |
||
davias Profil * |
#14 · Zasláno: 20. 5. 2010, 12:59:11
Joker: Ano to je fakt. Mohl jsem pod svůj příspěvek dodat, že to není vhodné řešení.
|
||
Časová prodleva: 3 dny
|
|||
Majkl578 Profil |
#15 · Zasláno: 23. 5. 2010, 02:08:35 · Upravil/a: Majkl578
davias:
„Mohl jsem pod svůj příspěvek dodat, že to není vhodné řešení.“ Spíš rovnou říct, jak by vypadalo. Joker: I já jsem většinou (pokud to nenadělá více škody než užitku) zastáncem toho druhého. Pospa: Řešení s využitím polí: <form method="post"> <input type="text" name="x[0]"> <input type="text" name="x[1]"> <input type="text" name="x[2]"> <input type="submit"> </form> <?php var_dump($_POST['x']); //vypsání $_POST['x'][0]; //přístup k prvku |
||
Časová prodleva: 14 let
|
0