Dreamweaver MX – komponenta pro editaci záznamů
Na četná přání čtenářů pokračujeme v sérii článků o práci s programem Dreamweaver MX. V jednom z předchozích článků jsme si ukázali tvorbu modulu pro vkládání záznamů do našeho adresáře. Tentokrát se podíváme na tvorbu komponenty pro editaci záznamů.
Než budeme pokračovat, podívejme se, v jakém stavu jsme naši aplikaci opustili:
Pravý dolní sloupec tabulky využijeme pro vložení odkazu pro aktivaci modulu pro editaci kontaktu – do buňky tabulky vložíme text Editace kontaktu. V Property inspectoru poté definujeme odkaz: políčko Link bude obsahovat řetězec edit.php?id=<? echo $row_Adresy_vypis['id'];?>
. Tím zaručíme předání parametru ID, který identifikuje aktuální záznam, do formuláře na stránce edit.php, kterou zakrátko vytvoříme. Pro programátory – začátečníky dodávám, že pro dnešek je to jediný kousek kódu, který je nutno ručně dopsat.
Následně se přesuneme do nabídky File – New a podobně jako v předchozím článku v dialogu vybereme položku Dynamic Page – PHP, kterou pomocí klávesové kombinace Ctrl+S ihned uložíme pod názvem edit.php:
Podobně jako u vkládání záznamů, i v případě jejich editace Dreamweaver nabízí již vytvořený modul, který potřebné funkce obsahuje (najdete jej v nabídce paletky Server Behaviors pod názvem Update Record). My se však z pedagogických důvodů tomuto způsobu tvorby vyhneme a ukážeme si stavbu celého modulu krok po kroku.
Vzhledem k tomu, že formulář pro editaci záznamů je velice podobný tomu, který používáme pro jejich vkládání, využijeme toho a ušetříme si práci. Otevřeme soubor insert.php a v levé části stavového řádku označíme položku form. Díky tomu dojde v editační části okna s dokumentem k označení všech položek, které jsou vnořeny mezi párové značky elementu FORM a my je tak můžeme snadno zkopírovat. Použijeme k tomu notoricky známou kombinaci Ctrl+C, následně se přepneme do dokumentu edit.php a stiskem kláves Ctrl+V vložíme objekty ze schránky. Dostáváme tak základ pro zamýšleny modul:
Jak dle modrého vybarvení formulářových políček můžete odhadnout, spolu s formulářem jsme zkopírovali i kód komponenty pro vložení, který je samozřejmě nutné vymazat. Přesuneme se proto na paletku Server Behaviors, kde najdeme informaci o vložném kódu:
Položku na paletce označíme a stiskneme tlačítko –, čímž dojde k vymazání připojeného kódu v jazyce PHP. Nyní již modul obsahuje pouze informace o potřebném propojení na databázový server, které samozřejmě ihned využijeme.
Jednotlivá formulářová políčka jsou zatím prázdná, proto musíme zajistit jejich vyplnění atributy záznamu. Proto na paletce Bindings klikneme na tlačítko + a z nabídky vybereme položku Recordset:
Pokud by se vám dialog zobrazil v poněkud rozsáhlejší podobě, máte aktivován rozšířený mód – klikněte na tlačítko Simple. V seznamu Connection vybereme vytvořené databázové propojení – položku Adresar – a u položky Columns necháme aktivní volbu All – tím z databázového dotazu získáme hodnoty všech atributů. Z tabulky chceme vybrat záznam, který má shodnou hodnotu atributu ID s hodnotou ID, kterou získáme jako parametr ze stránky index.php (viz výše). V políčku Filtr proto vybereme postupně položku ID, dále =, poté v dolním seznamu položku URL Parameter a opět „ID“. Tím je dotaz vytvořen a můžeme stisknout tlačítko OK:
Získali jsme tak hodnoty jednotlivých atributů, které ihned vložíme do formuláře, stačí jednotlivé položky ze „stromu“ Recordset paletky Bindings přetáhnout do políček formuláře:
Pro identifikaci záznamu v rámci aktualizací je však nutné do formuláře ještě umístit hodnotu atributu ID, který jednoznačně definuje daný kontakt. Přesuneme tedy kurzor do oblasti pod tabulkou (stále jsme však uvnitř ohraničení formuláře) a z paletky Forms vybereme komponentu Hidden Fields. Následně na paletce Property insepector klikneme na ikonku Bind to Dynamic Source (ikonka blesku vedle políčka Value), čímž danému prvku přiřadíme hodnotu atributu ID:
Nyní už můžeme přistoupit k integraci modulu pro aktualizaci záznamu. Na paletce Server Behaviors klikneme na tlačítko + a z kontextové nabídky vybereme položku Update Record:
Objeví se nám již dobře známý dialog, s jehož pomocí definujeme kýženou akci, aktualizaci záznamu. V seznamu Connection vybereme opět položku Adresar a díky zkopírování formuláře – a tím i zachování pojmenování jednotlivých formulářových políček – se vyplní položky nabídky Columns. Vybereme první řádku seznamu Columns a výběrem položky FORM.ID ze seznamu Value, Submit as Integer a zaškrtnutím políčka Primary Key jí přiřadíme hodnotu atributu ID. Tím jsme propojili formulář s tabulkou uloženou v databázi a výkonné jádro editační komponenty je na světě. Pro úplnost ještě doplníme lokaci dokumentu, který se zobrazí po aktualizací údajů – políčko After updating, Go to, pro náš případ zvolíme hlavní stránku, soubor index.php.
Tím je proces tvorby komponenty pro úpravu údajů završen. Nutno dodat, že aktualizace údajů by se dala v mnohém vylepšit, typickou ukázkou budiž kontrola zadávaných údajů (e-mail). Pokud jste při tvorbě komponenty narazili na problém či vám něco nebylo jasné, neváhejte mě o tom informovat v diskusi.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024 -
Webdesign: Jak optimalizovat tlačítka na webu
7. března 2024 -
Landing page: Jak vytvořit landing page s vysokým CTR
7. května 2024 -
Windows App: Pracujte odkudkoliv, kdykoliv
3. listopadu 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024
Anonym
Úno 23, 2012 v 20:39Dobrý večer pane Vostrý,
používám stále verzi MX, ale nyní po instalaci na nový stroj mi nejde vytvořit fotogalerie. FW se sice rozeběhne, vytvoří se základní file, ale pak přijde hláška „Create Web Photo Album did not finish. Either an error occurred or the command was cancelled“ a celé se to ukončí. Nevíte, kde je chyba? Děkuji – s pozdravem Michal