Pohodlná aktualizace záznamů v databázi
Aktualizace dat v databázi, pokud ji provádíte častěji, se stává poměrně zdlouhavou a pracnou. Neustálé vyhledávání a „reloady“ stránek po vyvolání SQL dotazu práci také příliš nezrychlí. Ukáži vám, jak lze vše usnadnit a alespoň částečně urychlit.
Pro názornost předpokládejme, že jsme majiteli virtuálního zverimexu a budeme chtít aktualizovat počet a pohlaví hlodavců v našem internetovém obchodě. Simulátor kódu je sice bez možnosti úpravy dat v tabulce, ale jako ukázka postačuje. Jako první krok si necháme vyhledat v tabulce zvirata
všechny hlodavce a vypíšeme si je do tabulky. První stránka pro výběr druhu bude obsahovat formulář asi v této podobě:
|
Formulář s proměnnou bude odeslán na stránku zmena.php
, která bude mít tuto podobu:
|
Kód je rozdělen do tří částí, jejichž funkci si nyní přiblížíme. Stránka při prvním načtení zobrazí tlačítko, které nás vrátí na předešlou stránku pro nový výběr kategorie. V první části kódu proměnná $aktiv
ještě nemá hodnotu, takže bude zobrazen text Klikni na….
Ve druhé části se z databáze vypíší do tabulky zvířata, která odpovídají proměnné z předchozí stránky s parametry číslo, druh, název, celkový počet, počet samců a počet samiček. Všimněte si v elementu <TR> ovladače onclick=vypis()
, který aktivuje skript po kliknutí na řádek tabulky.
Třetí část kódu nebude zobrazena, protože příslušný DIV má zatím parametr display: none
. Zde jsou důležitá dvě skrytá pole. První s názvem druh
uchovává proměnnou $druh
z výběru z předešlé stránky. Druhé, s výše zmiňovanou proměnnou $aktiv
, zajistí v první části kódu po první aktualizaci zobrazení upraveného řádku.
Nyní už chybí jen obslužný skript, pomocí kterého budeme odesílat data z tabulky do formuláře. Ten bude vypadat takto:
|
Po kliknutí na řádek tabulky, který chceme upravit, se nám nad ním objeví formulář ze třetí části kódu, který byl dosud schovaný. Pozici formuláře určí proměnná poz_Y
, která je o zadaný počet bodů nad kursorem. Do polí formuláře budou pomocí JavaScriptu načtena data z řádku, který máme v úmyslu upravovat. První rámeček řádku zleva bude mít index 0 - 'najdi[0]...'
, poslední length-1' - najdi[najdi.length-1]'
.
Formulář nám povolí upravovat pouze ta data, která jsme si předem určili. Předpokládejme, že nebudeme aktualizovat primární klíče a další důležité položky používané při prohledávání databáze. Tyto parametry se zobrazují se šedým pozadím a obsahují ovladač unselectable=on
, který brání jejich výběru.
V příkladě je povolena změna celkového počtu jedinců, počtu samců a počtu samiček. Po úpravě položek ve formuláři odešleme data kliknutím na tlačítko Změnit
. Po odeslání se v databázi provede aktualizace a v první části (proměnná $aktiv
je již definována skrytým polem ve formuláři) se zobrazí řádek tabulky s novými hodnotami. Ve druhé části se do tabulky vypíší aktualizované položky zvoleného druhu. Kliknutím na řádek v tabulce můžeme pokračovat v aktualizaci.
Vzhledem k použitému JavaScriptu vyvstává problém s nezávislostí na prohlížeči. Skript správně zpracuje pouze Internet Explorer 5+. Update databáze ale většinou nepatří k činnostem, které vykonává běžný návštěvník webových stránek, a tak lze i přes tento nedostatek popisovaný kód s úspěchem provozovat.
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
-
Certifikáty Entrust ztratí důvěru Google Chrome
8. července 2024 -
Od iPhonu po Android: Ultra HDR přináší nový standard fotografií
1. listopadu 2024 -
Optimalizace a zlepšení výkonu kódu: tipy a triky
14. srpna 2023 -
Responzivní design: Proč by ho neměl ignorovat žádný vývojář?
27. listopadu 2023
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024