Reklama

zonerbooks.cz | zoner.cz | czechia.com | regzone.cz | inshop.cz | inmail.cz | zonerpress.cz | zonerantivirus.com | zonerama.cz

interval.cz

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:

Stávající stav aplikace

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:

Nová stránka

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:

Základ modulu

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:

Server Behavior

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:

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:

Výběr položek

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:

Vyplněné položky

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:

Přiřazení 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:

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.

Update record - výsledek

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

Tematicky související články

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ář.

Přidat nový komentář

Jméno a e-mail jsou nepovinné. Příspěvky obsahující odkaz jsou moderovány.

Zoner AntiVirus Free pro Android
zabezpečte si svůj smartphone, zdarma
Profesionální eshop Zoner inShop od 990 Kč.
Zoner Photo Studio 14 – vyzkoušejte ZDARMA
Reklama
Reklama

Syndikace

hledáme nové autory | redakce interval.cz | reklama na interval.cz

© ZONER software, a.s., všechna práva vyhrazena, interval.cz dodržuje právní předpisy o ochraně osobních údajů. Powered by WordPress.