Autor | Zpráva | ||
---|---|---|---|
frauen Profil * |
#1 · Zasláno: 18. 2. 2011, 20:44:40
Zdravím,
navazuji na vlákno: Zjištění indexu mám následující data: <p class="category">Kategorie: <input type="text" name="category[0]" size="50" value="Kategorie 1"></p> <p class="category">Kategorie: <input type="text" name="category[5]" size="50" value="Kategorie 2"></p> <p class="category">Kategorie: <input type="text" name="category[8]" size="50" value="Kategorie 3"></p> Chtěl bych se zeptat, jak tyto hodnoty category dostat do pole a zjistit nejvyšší index (hodnotu v hranatých závorkách)? Má představa je asi takto: Pokud v datech existují hodnoty category { vytvoř pole category a zjisti nejvyšší hodnotu indexu, vlož jí do [hodnotaIndex] a inkrementuj ji }jinak { [hodnotaIndex] = 1 } V tomto případě by [hodnotaIndex] = 9. Děkuji za pomoc. |
||
Segi_L Profil |
#2 · Zasláno: 18. 2. 2011, 21:36:01 · Upravil/a: Segi_L
Predpokládam, že k datum pristupujete pomocou POSTu
$category = isset($_POST['category'])?$_POST['category']:0;//nebo $_GET['category'] $hodnotaIndex = 0; if ($category) $hodnotaIndex = max(array_keys($category)); $hodnotaIndex++; |
||
Tori Profil |
#3 · Zasláno: 18. 2. 2011, 21:36:03 · Upravil/a: Tori
frauen:
Chtěla bych se zeptat na totéž, co jiní v druhém vlákně: *Odkud se tato data berou? * Includujete statický html soubor, nebo čtete data z databáze a v PHP z nich generujete html, nebo jak? edit: Alternativní dotaz: K čemu to má sloužit - abyste updatem nepřepsal už existující data v DB? Třeba by bylo i jiné řešení. Segi_L: Správně-li jsem pochopila z odkázaného vlákna, chce to zjistit ještě před prvním zobrazením formuláře klientovi. |
||
Segi_L Profil |
#4 · Zasláno: 18. 2. 2011, 21:49:09
Tori:
Teraz som si prečítal vlakno :-). frauen: Tie data predsa generuješ pomocou cyklu, tak jaký problém je uchovávať si najvyššiu hodnotu kľuča a po ukončení cyklu ju inkrementovat. |
||
frauen Profil * |
#5 · Zasláno: 19. 2. 2011, 18:52:10
Tyto data jsou uložena v databázi přesně tak, jak jsem je vypsal zde - HTML. Nejedná se o POST. Pomocí php pouze vypíšu tento obsah a potřeboval bych to, o co jsem tu žádal.
|
||
Tori Profil |
#6 · Zasláno: 19. 2. 2011, 19:09:29 · Upravil/a: Tori
Šlo by to prosít regulárem, ale je to první co mě napadlo, takže asi ne ideální řešení.
$dataDb = '<p class="category">Kategorie: <input type="text" name="category[0]" size="50" value="Kategorie 1"></p> <p class="category">Kategorie: <input type="text" name="category[5]" size="50" value="Kategorie 2"></p> <p class="category">Kategorie: <input type="text" name="category[8]" size="50" value="Kategorie 3"></p>'; preg_match_all('#name="category\[([0-9]+)\]"#', $dataDb, $indexy); $max = 0; foreach ($indexy[1] as $val) $max = max($max, intval($val)); echo "MAX = $max"; |
||
frauen Profil * |
#7 · Zasláno: 20. 2. 2011, 00:00:21
Tori:
Díky moc, funguje to. |
||
Časová prodleva: 13 let
|
0