Dreamweaver MX - komponenta pro editaci záznamů
20. 08. 2003 | Petr Vostrý | Editory a IDE | Komentáře: 0
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.
Další aktuální články na interval.cz
- Malware: android pod palbou, mobily v ohrožení?
- Pozvánka na Microsoft TechDays 2012
- Reklamní slepota: co to je a jak s ní bojovat?
- Pět důvodů, proč vybrat redakční systém Drupal
- Čeština pro WordPress 3.3.1 k dispozici
Tematicky související články
- Dreamweaver MX - komponenta pro vyhledávání
- Tipy pro Dreamweaver MX 2004
- Dreamweaver ve společnosti PHP a MySQL 3.
- Dreamweaver MX 2004
- Dva v jednom - Dreamweaver MX
Dejte vědět i ostatním o článku
Diskuse (počet komentářů: 0)
Buďte prvním návštěvníkem, který přidá nový komentář.

