Anketa pro www stránky krok za krokem – vkládání dat
V předchozím článku o tvorbě ankety jsem podrobně probral návrh databáze pro vytvoření aplikace, která umožní na vašich stránkách zobrazovat vlastní ankety. Dnes se podrobně podíváme, jak tuto databázi naplníme jednotlivými anketami.
Možnosti plnění databáze
Pro naplnění databáze se nabízejí dvě možnosti (uvažuji pouze o platformě Microsoft, na jiných platformách jsou možnosti principielně podobné):
- Naplnit databázi ručně pomocí prostředků pro správu databáze (v případě MS SQL serveru je to SQL Server Enterprise Manager) – Vhodná pro jednorázové zadání ankety. Tato možnost sebou nese několik značných nevýhod, které v zásadě vylučují její použití běžným uživatelem.
- Je nutné mít nainstalován vývojový nástroj pro příslušnou databázi
- Komunikace s cílovou databází je po Internetu velmi pomalá
- Ten, kdo vkládá data tímto způsobem musí být seznámen se strukturou databáze a musí vědět jak jednotlivá zadaná data spolu souvisejí.
- Napsat si ASP aplikaci, pomocí které budeme mít možnost kompletně spravovat ankety – tato možnost má oproti předchozí množství výhod:
- Možnost vkládat data odkudkoliv – bez ohledu na platformu.
- Ten kdo vládá data, nemusí o vnitřní struktuře vědět naprosto vůbec nic.
- Ke správě anket je použit prohlížeč a není tedy nutné instalovat jakýkoliv další software
Jak jistě sami vidíte, pro další použití je naprosto nejvhodnější použít variantu číslo 2, neboť jejím použitím získáte řešení, které je nezávislé na platformě a nevyžaduje nákup a instalaci dalšího programového vybavení.
Vkládání nové ankety
Pro vstup dat od uživatele a jejich následné vložení do databáze budeme potřebovat:
- Formulář, který bude obsahovat položky pro datum zahájení a konce ankety a také formulář pro vlastní anketní otázku
- ASP skript, který formulář zpracuje, uloží data do databáze a předá řízení stránce na které se budou vkládat možné odpovědi na anketní otázku.
Takto by měl vypadat formulář, pomocí kterého budeme vkládat ankety pro uložení do databáze:
Data z formuláře jsou odeslána pomocí metody POST skriptu, který je zpracuje (podrobně je zpracování formulářů popsáno v článku Zpracování formulářů pomocí ASP). Formulář se zpracujeme pomocí metody Request.Form a také provedeme kontrolu správného vyplnění jednotlivých položek. Kontrolu bude provádět u položek „datum_zahájeni“ a „datum_ukonceni“ a to tak, že otestujeme, zda-li jsou typu datum a a zároveň zda-li „datum_zahajeni“ je menší než datum_ukonceni. Dalším testem, který by neměl chybět, je kontrola toho, zda-li byla vyplněna anketní otázka (je zcela na vás, jakou si zvolíte minimální délku anketní otázky – já si zvolil 5 znaků).
Následující kód umístněte do souboru pridejanketu.asp.
|
Data z tohoto formuláře jsou zpracována pomocí souboru pridejanketu.asp, skript po odeslání formuláře tedy „volá“ sám sebe.
Výše uvedené funkce isConnectDB() a disconnect() nejsou standardními funkcemi, ale jedná se o pomocné funkce pro připojení do databáze. Popis této funkce najdete v článku ASP, databáze a objekt Connection.
Pozorný čtenář možná bude mít otázku „Co znamená konstrukce SELECT @@IDENTITY AS ‚Identity‘ v dotazu, pomocí kterého vkládáme data do databáze?“. Pokusím se na odpovědět. Pomocí této konstrukce lze v databázi SQL zjistit obsah položky, která má vlastnost IDENTITY. Bohužel tento postup nebude bez několika jednoduchých úprav fungovat v databázi MS Access a pro tuto databázi musíte použít tuto část zdrojového kódu a nahradit tu původní:
|
Dokončili jsme skript pro vkládání anketních otázek, skript nás vložení otázky automaticky přesměruje na stránku pro vkládání odpovědí, ale prohlížeč nám v této chvíli oznámí, že požadovanou stránku nenalezl. Ano, je to tak, tato stránka ještě neexistuje a proto to hned v následujícím odstavci napravíme.
Vkládání odpovědí pro anketu:
Na stránce pro vkládání odpovědí provedeme několik kroků, pomocí kterých dostaneme požadovaný výsledek:
- Z databáze načteme a zobrazíme informace o anketě (datum zahájeni, datum ukončení a vlastní anketní otázku)
- Z databáze načteme a zobrazíme případně již vložené odpovědi na anketní otázku
- Zpracujeme data odeslaná formulářem pro vkládání odpovědí a vložíme je do databáze
- Pokud je to požadováno, zobrazíme formulář pro vložení další odpovědi, v opačném případě přesměrujeme na stránku se souhrnem ankety.
Nyní si připravíme formulář pro vkládání odpovědí. Položku, do které budeme vkládat odpovědi nazveme „odpoved“ a stanovíme si podmínku, že při jejím nevyplnění ukončíme zadávání ankety.
Mohlo by vás také zajímat
-
Jak se chránit před podvody na internetu – část 1
8. října 2024 -
AI v programování: Jak používat GitHub Copilot (část 1)
12. února 2024 -
Windows App: Pracujte odkudkoliv, kdykoliv
3. listopadu 2024 -
Proč investovat do nejvýkonnějších VPS s AMD EPYC procesory
14. června 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