Autor Zpráva
Dominooo
Profil *
Zdravím. Riešim takú už možno viackrát riešenú tému avšak nenašiel som nejaký vhodný návod ktorý by som chápal a implementoval do môjho systému.
Ide naozaj o viac-menej prostý formulár, ktorým chcem pridať do jednej tabulky (v tomto prípade) maximálne 3 položky naraz. Takže ak vyplním len jednu položku tak sa pridá len tá jedna a naopak..

Takže samotný formulár môže vyzerať napríklad takto:
Položka 1:<input type="text" name="datum1"><input type="text" name="inabunka1">
Položka 2:<input type="text" name="datum2"><input type="text" name="inabunka2">
Položka 3:<input type="text" name="datum3"><input type="text" name="inabunka3">

<input type="submit" name="submit" value="Pridať">
- tento formulár je spravený cez php funkciu while (takže nemám to okopírované pod sebou) - ale to je teraz jedno.

PHP kód pre $_POST['submit'] sem dávať ani nebudem lebo vlastne ani nemám žiadny dobrý - ten by som práve chcel od niekoho, kto je ochotný mi pomôcť :-)

Vďaka za pomoc
Jan Tvrdík
Profil
Dominooo:
Lépe je pojmenovat ty položky místo datum1 jako datum[1] nebo prostě jenom datum[]. Na server pak v $_POST dorazí jako pole.

Je tohle ten problém, co řešíš?
Dominooo
Profil *
Ano ano tiež som to tak videl ale ako by mal potom vyzerať ten PHP kód?? S tým mám skôr teraz problém.
Jan Tvrdík
Profil
Dominooo:
Umíš používat v PHP cykly a pole? Jinak se to nijak neliší od zpracování jedné položky. Co já vím, co chceš s těmi daty na serveru dělat.
Fisir
Profil
Reaguji na Dominooa:
foreach($_POST['datum'] as $item){
    if(!empty($item)){
        // INSERT
    }
}
Projde všechny inputy s name="datum[]" a když je vyplněný, provede INSERT (nahraď jím komentář).
mimochodec
Profil
Spíš bych si v tom cyklu seskládal dotaz do tvaru
INSERT INTO table (col1, col2) VALUES 
(val1, val2),
(val1, val2),
(val1, val2)
a pak ho provedl najednou. Netestoval jsem to, ale mám tak nějak za to, že to je rychlejší než jednotlivé dotazy.
Dominooo
Profil *
Vďaka všetkým :)

Ten foreach mi určite pomohol :)
Na jednotlivé položky odkazujem nasledovne (je ich v skutočnosti viac ako v ukážke):
$_POST['datum'][$i]
$_POST['inabunka'][$i]
$_POST['atd'][$i]
pričom teda sa mi každým políčkom pripočítava $i.

Je to tak OK? :)

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: