Autor Zpráva
mates99
Profil *
Ahoj, chtěl bych si udělat pro svoje potřeby takovej malej prográmek v PHP na výpočty časů útoku ke hře *******. Už mám promyšlené, jak to bude fungovat, ale abych mohl začít tak bych potřeboval vyřešit jednu věc. Potřeboval bych udělat pole input, do kterého zadám počet útoků a následně podle počtu zobrazit další pole input. Tzn., že když někdo zádá 5 útoků, tak se zobrazí 5 input polí. Díky za každou pomoc.
mates99
Profil *
Tak jsem něco našel na netu, jdu to zkusit udělat cyklem FOR.
Nox
Profil
No to se týká html, takže snad for ani není třeba
Pokud víš předem (maximální) počet útoků, tak prostě dej stejný počet inputů...
a když je to třeba dynamicky...tak třeba jako u mailů nebo idosu přes JavaScript,něco jako:
<input type="text" name="utok[]"><br>
<a href="#" onclick="PridatUtok(this.parentNode)">Další útok</a>

a jak přidat input pomocí se mrkni na http://www.google.cz/search?q=javascript+add+element
...vlastně nevím, jak si na tom s JavaScriptem, tak to možná bude oříšek...holt učit se učit se učit se...jak říkal jeden pán;)
mates99
Profil *
No tak sem tam něco v Javascriptu taky napíšu, ale neumim pořádně ani PHP natož javascript. Já to nakonec udělal tím cyklem for, ale teď jsem se zas dostal do situace kdy nevim jak mám ty data z těch polý dostat. Já to právě nechtěl omezovat na určitej počet, ale teď fakt netušim jak mám udělat POST, když nevim kolik jich bude. Napadlo mě udělat script, kterej by cyklem FOR zapisoval do nějakýho jinýho souboru $_POST[utok1]; , $_POST[utok2]; , ....., a pak následně ten soupor načíst přes include, ale to je asi blbost co? A hlavně netušim co by se dělo, kdyby to současně dělalo třeba 5 lidí. Napadá někoho nějaký řešení??
Nox
Profil
Pokud dáš jako name "neco[]" tak bude výsledek v poli, tzn $_POST["neco"] bude pole (ty doufám trochu znáš)...a můžeš využít konstruktu foreach,
který projde celý polem (víc info v manuálu (php.net)), případně by šlo i for s tím, že počet prvků v poli zjistíš funkcí count()
(nezapomenout, že se indexuje od 0 do N-1)

Ten for tam máš proto, abys to nemusel za sebou psát xkrát?
mates99
Profil *
Pokud dáš jako name "neco[]" tak bude výsledek v poli, tzn $_POST["neco"] bude pole (ty doufám trochu znáš)...a můžeš využít konstruktu foreach,

Aha, tak to jsem nevěděl, super vychytávka. Dík moc.
mates99
Profil *
Ahoj, tak jsem to nakonec předělal do toho javascriptu, teď to funguje opravdu lépe. Ale potřeboval bych ještě jednu radu. Udělal jsem si checkbox input, kde je 8 typů vojáků, name jsem nastavil jako pole a mám tam javascriptový button, kterým přidám útok. Když přidám útok, tak se zkopíruje celý checkbox input. Jenže zas nevím kolik toho budu mít vybráno v tom checkboxu pro každý útok. Přidal jsem teda hidden input s hodnotou konec a nastavil mu stejný name jako u checkboxu. Taže teď na konci každého útoku bude v poli hodnota konec. Výstup dvou útoků příkazem print_r($array); vypadá takhle : Array ( [0] => jednotka1 [1] => jednotka2 [2] => konec [3] => jednotka1 [4] => jednotka2 [5] => jednotka3 [6] => konec). Pro oddělení útoků jsem použil tohle foreach($array as $item){ $subarray[] = explode(konec, $item); . Potřeboval bych vědět, jak teď vyvolám jednotky ze $subarray[].

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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