ahoj nedávno sem o tom četl cca 1 mesic zpet ale clanek již nemůžu najít a nevím jak to udělat ale zajímalo bymne jak upravit formulář tak aby jeden form fungoval jako odesílací a upravovací
Fórum › PHP
Jeden formulář pro vkládání a upravu dat v db
#1 tribalcz
Udelas si jeden formulář a nastavis si $_GET ..
kdyz budes chtit odeslat, tak:
formular.php?f=odeslat
a kdyz upravit, tak třeba:
formular.php?f=upravit
A pak:
<?php
if(isset($_GET["f"]) && $_GET["f"] == "odeslat"))
{
klasický formulář
}
if(isset($_GET["f"]) && $_GET["f"] == "upravit"))
{
ten samý formulář, ale přidáš těm inputům value z DB
}
?>
Adresu formu muzes menit javascriptem. - funguje jen s aktivnim js, tak asi 90%
Nebo je mozne udelat 2 submit tlacitka s ruznymi name a pak sledovat isset($_POST['tlac1']) nebo totez pro tlac2. - funguje ne ve vsech prohlizecich, tak asi 90%.
Nebo hledas neco jako templatovaci systemy? Pripadne frameworky jako treba u nas pouzivane nette?
Kdyz vytvarim nebo upravuji form, pouzivam stejnou sablonu, jenom pro novy davam do skryteho inputu id=-1 a pro upravujici id=12345. V tom je cely rozdil. A tez tam muzou byt nektera policka zakazana pro opetovnou upravu.
asi takhle na webu mam upravu a v kladani dat resim to dvema odlisnymi formy ktere mam umistene v jquery acordionu aby to nezabiralo moc mista ale zkratka chci skusit neco noveho uz sem skousel i formulare v dialogu ale to mi nejak blblo devetkrat se to odeslalo a po desaty ne
(Předpokládám, že se jedná o formulář pro vložení nebo úpravu záznamu v tabulce.)
Moje řešení je hlídat hodnotu id. Tak lze dokonce vystačit i s jedním tlačítkem (pro uložení záznamu, ať už nového či existujícího).
Do formuláři nezapomeň uvést id záznamu (asi bych ho nedělal editovatelné, max. skryté). Při zpracování formuláře zjistíš nejdříve, jestli bylo stisknuto tlačítko pro uložení a poté, jestli existuje id. Pokud ano, upravuješ stávající záznam, pokud ne, vkládáš nový záznam.
if($_POST['ulozit']){
if($_POST['id']){
//uprava zaznamu - UPDATE tabulka SET ...;
}else{
//vlozeni zaznamu - INSERT INTO tabulka(pole) VALUES(hodnoty);
}
}
tribalcz - Mozna, kdybys dal kratkou ukazku, treba i v tom jquery. Ja osobne to moc nechapu. Forest ti tam napsal reseni se dvema submit tlacitky (reseny pomoci odkazu, ale neni problem prepsat odkaz na form s method=get).
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Sháním flashaře pro úpravu bannerů — založil Esfo
Program pro úpravu zdrojového VB souboru — založil marty18
2D grafik pro úpravu textur hry — založil martanius
PHP freelancer pro upravu stavajiciho kodu — založil David
Funkce pro úpravu textu do html tagu — založil john
Moderátoři diskuze