HTML → JSP: Přechod k aplikaci.
1.1 --- a/java/sql-vyuka/nbproject/genfiles.properties Thu May 28 18:48:31 2009 +0200
1.2 +++ b/java/sql-vyuka/nbproject/genfiles.properties Thu May 28 21:19:06 2009 +0200
1.3 @@ -1,8 +1,8 @@
1.4 -build.xml.data.CRC32=567829be
1.5 +build.xml.data.CRC32=781cf957
1.6 build.xml.script.CRC32=0f264e43
1.7 build.xml.stylesheet.CRC32=c0ebde35
1.8 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
1.9 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
1.10 -nbproject/build-impl.xml.data.CRC32=567829be
1.11 +nbproject/build-impl.xml.data.CRC32=781cf957
1.12 nbproject/build-impl.xml.script.CRC32=b0e42421
1.13 nbproject/build-impl.xml.stylesheet.CRC32=174458fc
2.1 --- a/java/sql-vyuka/nbproject/project.properties Thu May 28 18:48:31 2009 +0200
2.2 +++ b/java/sql-vyuka/nbproject/project.properties Thu May 28 21:19:06 2009 +0200
2.3 @@ -12,7 +12,7 @@
2.4 debug.classpath=${build.classes.dir}:${javac.classpath}
2.5 debug.test.classpath=\
2.6 ${run.test.classpath}
2.7 -display.browser=true
2.8 +display.browser=false
2.9 dist.dir=dist
2.10 dist.ear.war=${dist.dir}/${war.ear.name}
2.11 dist.javadoc.dir=${dist.dir}/javadoc
2.12 @@ -49,7 +49,6 @@
2.13 javadoc.windowtitle=
2.14 jspcompilation.classpath=${jspc.classpath}:${javac.classpath}
2.15 lib.dir=${web.docbase.dir}/WEB-INF/lib
2.16 -no.dependencies=false
2.17 persistence.xml.dir=${conf.dir}
2.18 platform.active=default_platform
2.19 resource.dir=setup
3.1 --- a/java/sql-vyuka/nbproject/project.xml Thu May 28 18:48:31 2009 +0200
3.2 +++ b/java/sql-vyuka/nbproject/project.xml Thu May 28 21:19:06 2009 +0200
3.3 @@ -8,10 +8,10 @@
3.4 <web-module-libraries/>
3.5 <web-module-additional-libraries/>
3.6 <source-roots>
3.7 - <root id="src.dir" name="Source Packages"/>
3.8 + <root id="src.dir"/>
3.9 </source-roots>
3.10 <test-roots>
3.11 - <root id="test.src.dir" name="Test Packages"/>
3.12 + <root id="test.src.dir"/>
3.13 </test-roots>
3.14 </data>
3.15 </configuration>
4.1 --- a/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/preklady_cs.properties Thu May 28 18:48:31 2009 +0200
4.2 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/preklady_cs.properties Thu May 28 21:19:06 2009 +0200
4.3 @@ -8,3 +8,7 @@
4.4
4.5 tlacitko.historie.tip=Vyp\u00ED\u0161e historii SQL p\u0159\u00EDkaz\u016F.
4.6 tlacitko.vykonat.tip=Vykon\u00E1 zadan\u00FD SQL p\u0159\u00EDkaz.
4.7 +
4.8 +vychozi.sql=SELECT * FROM tabulka;
4.9 +vychozi.vysledek=V\u00EDtejte v programu SQL v\u00FDuka!
4.10 +vychozi.napoveda=Tady bude n\u00E1pov\u011Bda
4.11 \ No newline at end of file
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/java/sql-vyuka/web/WEB-INF/casti/aplikace.jspx Thu May 28 21:19:06 2009 +0200
5.3 @@ -0,0 +1,57 @@
5.4 +<?xml version="1.0" encoding="UTF-8"?>
5.5 +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
5.6 + xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
5.7 + version="2.0">
5.8 +
5.9 + <fmt:setBundle basename="cz.frantovo.sql.vyuka.preklady" scope="application"/>
5.10 +
5.11 + <div id="zahlavi"><h1><fmt:message key="nazev"/></h1></div>
5.12 +
5.13 + <div id="bloky">
5.14 + <div class ="blok" id="napoveda">
5.15 + <h2><fmt:message key="blok.napoveda"/></h2>
5.16 + <div class="vnitrekBloku">
5.17 + <p id="napovedniPole"><fmt:message key="vychozi.napoveda"/></p>
5.18 + </div>
5.19 + </div>
5.20 +
5.21 +
5.22 + <div id="io">
5.23 +
5.24 + <div class ="blok" id="vstup">
5.25 + <h2><fmt:message key="blok.zadavani"/></h2>
5.26 + <div class="vnitrekBloku">
5.27 + <form action="#">
5.28 + <fieldset>
5.29 + <textarea id="vstupniPole" rows="100" cols="1000"><fmt:message key="vychozi.sql"/></textarea>
5.30 + <button class="zobrazitHistorii"
5.31 + name="zobrazitHistorii"
5.32 + title="Vypíše historii SQL příkazů."
5.33 + type="button"
5.34 + onclick="javascript:ajaxZobrazitHistorii();">&nbsp;</button>
5.35 + <button class="vykonatSQL"
5.36 + name="vykonatSQL"
5.37 + title="Vykoná zadaný SQL příkaz."
5.38 + type="button"
5.39 + onclick="javascript:ajaxVykonatSQL();">&nbsp;</button>
5.40 + </fieldset>
5.41 + </form>
5.42 + </div>
5.43 + </div>
5.44 +
5.45 +
5.46 +
5.47 +
5.48 +
5.49 + <div class ="blok" id="vystup">
5.50 + <h2><fmt:message key="blok.vysledek"/></h2>
5.51 + <div class="vnitrekBloku" id="vystupniPole">
5.52 + <p>
5.53 + <fmt:message key="vychozi.vysledek"/>
5.54 + </p>
5.55 + </div>
5.56 + </div>
5.57 + </div>
5.58 +
5.59 + </div>
5.60 +</jsp:root>
5.61 \ No newline at end of file
6.1 Binary file java/sql-vyuka/web/grafika/blok-nadpis-320.png has changed
7.1 Binary file java/sql-vyuka/web/grafika/blok-nadpis-680.png has changed
8.1 Binary file java/sql-vyuka/web/grafika/blok-pozadi.gif has changed
9.1 Binary file java/sql-vyuka/web/grafika/logo.png has changed
10.1 Binary file java/sql-vyuka/web/grafika/tabulka-zahlavi.png has changed
11.1 Binary file java/sql-vyuka/web/grafika/tlacitko-historie.png has changed
12.1 Binary file java/sql-vyuka/web/grafika/tlacitko-sql.png has changed
13.1 Binary file java/sql-vyuka/web/grafika/vysledek-chyba.png has changed
14.1 Binary file java/sql-vyuka/web/grafika/vysledek-ok.png has changed
15.1 Binary file java/sql-vyuka/web/grafika/vysledek-tip.png has changed
16.1 Binary file java/sql-vyuka/web/grafika/vysledek-varovani.png has changed
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/java/sql-vyuka/web/historie.html Thu May 28 21:19:06 2009 +0200
17.3 @@ -0,0 +1,26 @@
17.4 +<div>
17.5 + <table>
17.6 + <thead title="Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.">
17.7 + <tr>
17.8 + <td>Kdy</td>
17.9 + <td>SQL příkaz</td>
17.10 + </tr>
17.11 + </thead>
17.12 + <tbody>
17.13 + <tr>
17.14 + <td>2008-05-24 16:00:08</td>
17.15 + <td>SELECT * FROM tabulka WHERE id = 123;</td>
17.16 + </tr>
17.17 + <tr>
17.18 + <td>2008-05-24 15:55:10</td>
17.19 + <td>SELECT * FROM tabulka WHERE id = 123 ORDER BY datum DESC;</td>
17.20 + </tr>
17.21 + <tr>
17.22 + <td>2008-05-24 15:51:28</td>
17.23 + <td>SELECT * <br/>FROM tabulka <br/>JOIN druha_tabulka USING (email) <br/>WHERE id = 8;</td>
17.24 + </tr>
17.25 + </tbody>
17.26 + </table>
17.27 + <p class="vysledekOK">Toto je historie provedených SQL příkazů.</p>
17.28 + <p class="vysledekTip">„Nějaký pěkný tip, citát, nebo <a href="http://frantovo.cz/blog/">odkaz</a> na stránku.“</p>
17.29 +</div>
17.30 \ No newline at end of file
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/java/sql-vyuka/web/hlavni.js Thu May 28 21:19:06 2009 +0200
18.3 @@ -0,0 +1,100 @@
18.4 +/** ID html prvků */
18.5 +const vstupniPole = 'vstupniPole';
18.6 +const vystupniPole = 'vystupniPole';
18.7 +const napovedniPole = 'napovedniPole';
18.8 +
18.9 +
18.10 +/**
18.11 + * Aby to fungovalo i v MSIE 6.
18.12 + * @return AJAXový objekt.
18.13 + */
18.14 +function getXmlHttpRequestObject() {
18.15 + if (window.XMLHttpRequest) {
18.16 + return new XMLHttpRequest();
18.17 + } else if(window.ActiveXObject) {
18.18 + return new ActiveXObject("Microsoft.XMLHTTP");
18.19 + } else {
18.20 + alert("Váš prohlížeč nepodporuje AJAX. Pořiďte si méně zastaralý prohlížeč, nejlépe Firefox.");
18.21 + return null;
18.22 + }
18.23 +}
18.24 +
18.25 +/** Náš AJAXový objekt. */
18.26 +var ajax = getXmlHttpRequestObject();
18.27 +
18.28 +/**
18.29 + * Vrací vstup od uživatele.
18.30 + * @return SQL příkaz zadaný uživatelem.
18.31 + **/
18.32 +function getSQL() {
18.33 + return document.getElementById(vstupniPole).innerHTML;
18.34 +}
18.35 +
18.36 +/**
18.37 + * Zobrazí text na požadovaném místě.
18.38 + * @param text text k zobrazení
18.39 + * @param kde id prvku, do kterého se má text vypsat
18.40 + **/
18.41 +function zobraz(text, kde) {
18.42 + document.getElementById(kde).innerHTML = text + '<p> <!-- Šťastné hackování ;-) --></p>';
18.43 +}
18.44 +
18.45 +/**
18.46 + * Zobrazí text ve výstupním poli.
18.47 + * @param text text k zobrazení
18.48 + **/
18.49 +function zobrazVystup(text) {
18.50 + zobraz(text, vystupniPole);
18.51 +}
18.52 +
18.53 +/**
18.54 + * Zobrazí text ve vstupním poli.
18.55 + * Požijeme pro načtení SQL příkazu z historie.
18.56 + * @param text text k zobrazení
18.57 + **/
18.58 +function zobrazVstup(text) {
18.59 + zobraz(text, vstupniPole);
18.60 +}
18.61 +
18.62 +/**
18.63 + * Zobrazí text ve poli pro nápovědu.
18.64 + * @param text text k zobrazení
18.65 + **/
18.66 +function zobrazNapovedu(text) {
18.67 + zobraz(text, napovedniPole);
18.68 +}
18.69 +
18.70 +/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
18.71 +function ajaxVykonatSQL() {
18.72 + if (ajax.readyState == 4 || ajax.readyState == 0) {
18.73 + ajax.open("GET", 'vysledek.html', true);
18.74 + ajax.onreadystatechange = vykonatSQLVypis;
18.75 + ajax.send(null);
18.76 + }
18.77 + //zobrazNapovedu('Nějaká nápověda k danému příkazu.');
18.78 + //zobrazNapovedu(escape(getSQL()));
18.79 +}
18.80 +
18.81 +/** Pomocná funkce – postará se o vypsání v pravou chvíli. */
18.82 +function vykonatSQLVypis() {
18.83 + if (ajax.readyState == 4) {
18.84 + zobrazVystup(ajax.responseText);
18.85 + }
18.86 +}
18.87 +
18.88 +
18.89 +/** Jednoduchá AJAXová funkce, načte obsah souboru a zobrazí ho ve výstupním okně. */
18.90 +function ajaxZobrazitHistorii() {
18.91 + if (ajax.readyState == 4 || ajax.readyState == 0) {
18.92 + ajax.open("GET", 'historie.html', true);
18.93 + ajax.onreadystatechange = zobrazitHistoriiVypis;
18.94 + ajax.send(null);
18.95 + }
18.96 +}
18.97 +
18.98 +/** Pomocná funkce – postará se o vypsání v pravou chvíli. */
18.99 +function zobrazitHistoriiVypis() {
18.100 + if (ajax.readyState == 4) {
18.101 + zobrazVystup(ajax.responseText);
18.102 + }
18.103 +}
19.1 --- a/java/sql-vyuka/web/index.jsp Thu May 28 18:48:31 2009 +0200
19.2 +++ b/java/sql-vyuka/web/index.jsp Thu May 28 21:19:06 2009 +0200
19.3 @@ -1,19 +1,21 @@
19.4 -<%--
19.5 - Document : index
19.6 - Created on : 24.5.2009, 16:54:56
19.7 - Author : fiki
19.8 ---%>
19.9 +<%@page contentType="text/html" pageEncoding="UTF-8"%>
19.10 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
19.11 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
19.12 +<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
19.13
19.14 -<%@page contentType="text/html" pageEncoding="UTF-8"%>
19.15 -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
19.16 - "http://www.w3.org/TR/html4/loose.dtd">
19.17 +<fmt:setBundle basename="cz.frantovo.sql.vyuka.preklady" scope="application"/>
19.18
19.19 -<html>
19.20 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
19.21 <head>
19.22 - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
19.23 - <title>JSP Page</title>
19.24 + <meta http-equiv="content-language" content="cs"/>
19.25 + <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
19.26 + <link href="styl.css" type="text/css" rel="StyleSheet"/>
19.27 + <script type="text/javaScript" src="hlavni.js"></script>
19.28 + <title><fmt:message key="nazev"/></title>
19.29 </head>
19.30 <body>
19.31 - <h1>Hello World!</h1>
19.32 +
19.33 + <jsp:include page="WEB-INF/casti/aplikace.jspx" flush="false"/>
19.34 +
19.35 </body>
19.36 </html>
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/java/sql-vyuka/web/styl.css Thu May 28 21:19:06 2009 +0200
20.3 @@ -0,0 +1,196 @@
20.4 +/** Obrázky s odkazem bez rámečku */
20.5 +a img {
20.6 + border: none;
20.7 +}
20.8 +
20.9 +/** Pozadí stránky a text */
20.10 +html {
20.11 + background: #42afdc;
20.12 + color:black;
20.13 +}
20.14 +
20.15 +/** Bezpatkové písmo */
20.16 +body {
20.17 + font-family: sans-serif;
20.18 + font-size: 12px;
20.19 +}
20.20 +
20.21 +/** Prostor pro logo a název programu */
20.22 +#zahlavi {
20.23 + height: 48px;
20.24 + background-image: url('grafika/logo.png');
20.25 + background-repeat: no-repeat;
20.26 + margin-left: 5px;
20.27 +}
20.28 +
20.29 +#zahlavi h1 {
20.30 + display: none;
20.31 +}
20.32 +
20.33 +/** Obal kolem bloků */
20.34 +#bloky {
20.35 + width: 1040px;
20.36 + text-align: justify;
20.37 +}
20.38 +
20.39 +.blok {
20.40 + margin: 10px;
20.41 +}
20.42 +
20.43 +/** Vstup, výstup nebo nápověda */
20.44 +.vnitrekBloku {
20.45 + background-image: url('grafika/blok-pozadi.gif');
20.46 + margin: 0px;
20.47 + padding: 10px;
20.48 +}
20.49 +
20.50 +#vstup .vnitrekBloku {
20.51 + height: 150px;
20.52 + text-align: right;
20.53 +}
20.54 +
20.55 +#vstup textarea {
20.56 + width: 640px;
20.57 + height: 108px;
20.58 + padding: 8px;
20.59 + border: 1px solid silver;
20.60 +}
20.61 +
20.62 +fieldset {
20.63 + display: inline;
20.64 + border: none;
20.65 + padding: 0px;
20.66 + margin: 0px;
20.67 +}
20.68 +
20.69 +#vstup button {
20.70 + height: 20px;
20.71 + border: none;
20.72 + margin-right: 0px;
20.73 + margin-top: 5px;
20.74 + padding: 0px;
20.75 + cursor: pointer;
20.76 + background-repeat: no-repeat;
20.77 +}
20.78 +
20.79 +#vstup button.zobrazitHistorii {
20.80 + background-image: url('grafika/tlacitko-historie.png');
20.81 + background-color: transparent;
20.82 + background-position: center;
20.83 + width: 20px;
20.84 +}
20.85 +
20.86 +#vstup button.vykonatSQL {
20.87 + background-image: url('grafika/tlacitko-sql.png');
20.88 + width: 146px;
20.89 +}
20.90 +
20.91 +#vystup .vnitrekBloku {
20.92 + overflow: auto;
20.93 + height: 280px;
20.94 +}
20.95 +
20.96 +#napoveda .vnitrekBloku {
20.97 + height: 484px;
20.98 +}
20.99 +
20.100 +/** Nadpisy bloků */
20.101 +.blok h2 {
20.102 + font-size: 12px;
20.103 + padding: 2px;
20.104 + padding-top: 4px;
20.105 + padding-left: 32px;
20.106 + margin: 0px;
20.107 + color: gray;
20.108 + height: 20px;
20.109 +}
20.110 +
20.111 +#napoveda h2 {
20.112 + background-image: url('grafika/blok-nadpis-320.png');
20.113 +}
20.114 +
20.115 +/** Vstupně-výstupní část */
20.116 +#io {
20.117 + float: left;
20.118 +}
20.119 +
20.120 +#io h2 {
20.121 + background-image: url('grafika/blok-nadpis-680.png');
20.122 +}
20.123 +
20.124 +/** Blok vstupu */
20.125 +#vstup {
20.126 + width: 680px;
20.127 +}
20.128 +
20.129 +/** Blok výstupu */
20.130 +#vystup {
20.131 + width: 680px;
20.132 +}
20.133 +
20.134 +/** Blok nápovědy */
20.135 +#napoveda {
20.136 + float: right;
20.137 + width: 320px;
20.138 +}
20.139 +
20.140 +/** Formátování (výstupní) tabulky */
20.141 +table {
20.142 + border: 1px solid green;
20.143 + border-collapse:collapse;
20.144 + background-color: white;
20.145 + margin: 3px;
20.146 +}
20.147 +
20.148 +td {
20.149 + border: 1px solid black;
20.150 + padding: 4px;
20.151 + padding-left: 8px;
20.152 + padding-right: 8px;
20.153 + vertical-align: top;
20.154 +}
20.155 +
20.156 +td.cislo {
20.157 + text-align: right;
20.158 +}
20.159 +
20.160 +thead {
20.161 + background: gray;
20.162 + font-weight:bold;
20.163 + background-image: url('grafika/tabulka-zahlavi.png');
20.164 + background-repeat: repeat-x;
20.165 + height: 28px;
20.166 +}
20.167 +
20.168 +thead td a {
20.169 + color: black;
20.170 + text-decoration: none;
20.171 +}
20.172 +
20.173 +thead td {
20.174 + vertical-align: middle;
20.175 +}
20.176 +
20.177 +/** Ikonky pro zprávu k výsledku */
20.178 +#vystupniPole p {
20.179 + background-repeat: no-repeat;
20.180 + padding-left: 22px;
20.181 +}
20.182 +
20.183 +#vystupniPole p.vysledekOK {
20.184 + background-image: url('grafika/vysledek-ok.png');
20.185 +}
20.186 +
20.187 +#vystupniPole p.vysledekVarovani {
20.188 + background-image: url('grafika/vysledek-varovani.png');
20.189 +}
20.190 +
20.191 +#vystupniPole p.vysledekChyba {
20.192 + background-image: url('grafika/vysledek-chyba.png');
20.193 +}
20.194 +
20.195 +#vystupniPole p.vysledekTip {
20.196 + background-image: url('grafika/vysledek-tip.png');
20.197 + color: gray;
20.198 + font-style: italic;
20.199 +}
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/java/sql-vyuka/web/vysledek.html Thu May 28 21:19:06 2009 +0200
21.3 @@ -0,0 +1,90 @@
21.4 +<div>
21.5 + <table>
21.6 + <thead title="Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.">
21.7 + <tr>
21.8 + <td>Sloupeček 1</td>
21.9 + <td>Sloupeček 2</td>
21.10 + <td>Sloupeček 3</td>
21.11 + <td>Sloupeček 4</td>
21.12 + </tr>
21.13 + </thead>
21.14 + <tbody>
21.15 + <tr>
21.16 + <td>Hodnota 1</td>
21.17 + <td>Hodnota 2</td>
21.18 + <td>Hodnota 3</td>
21.19 + <td class="cislo">1234,56</td>
21.20 + </tr>
21.21 + <tr>
21.22 + <td>Hodnota 1</td>
21.23 + <td>Hodnota 2</td>
21.24 + <td>Hodnota 3</td>
21.25 + <td class="cislo">1234,56</td>
21.26 + </tr>
21.27 + <tr>
21.28 + <td>Hodnota 1</td>
21.29 + <td>Hodnota 2</td>
21.30 + <td>Hodnota 3</td>
21.31 + <td class="cislo">1234,56</td>
21.32 + </tr>
21.33 + <tr>
21.34 + <td>Hodnota 1</td>
21.35 + <td>Hodnota 2</td>
21.36 + <td>Hodnota 3</td>
21.37 + <td class="cislo">1234,56</td>
21.38 + </tr>
21.39 + <tr>
21.40 + <td>Hodnota 1</td>
21.41 + <td>Hodnota 2</td>
21.42 + <td>Hodnota 3</td>
21.43 + <td class="cislo">1234,56</td>
21.44 + </tr>
21.45 + <tr>
21.46 + <td>Hodnota 1</td>
21.47 + <td>Hodnota 2</td>
21.48 + <td>Hodnota 3</td>
21.49 + <td class="cislo">1234,56</td>
21.50 + </tr>
21.51 + <tr>
21.52 + <td>Hodnota 1</td>
21.53 + <td>Hodnota 2</td>
21.54 + <td>Hodnota 3</td>
21.55 + <td class="cislo">1234,56</td>
21.56 + </tr>
21.57 + <tr>
21.58 + <td>Hodnota 1</td>
21.59 + <td>Hodnota 2</td>
21.60 + <td>Hodnota 3</td>
21.61 + <td class="cislo">1234,56</td>
21.62 + </tr>
21.63 + <tr>
21.64 + <td>Hodnota 1</td>
21.65 + <td>Hodnota 2</td>
21.66 + <td>Hodnota 3</td>
21.67 + <td class="cislo">1234,56</td>
21.68 + </tr>
21.69 + <tr>
21.70 + <td>Hodnota 1</td>
21.71 + <td>Hodnota 2</td>
21.72 + <td>Hodnota 3</td>
21.73 + <td class="cislo">1234,56</td>
21.74 + </tr>
21.75 + <tr>
21.76 + <td>Hodnota 1</td>
21.77 + <td>Hodnota 2</td>
21.78 + <td>Hodnota 3</td>
21.79 + <td class="cislo">1234,56</td>
21.80 + </tr>
21.81 + <tr>
21.82 + <td>Hodnota 1</td>
21.83 + <td>Hodnota 2</td>
21.84 + <td>Hodnota 3</td>
21.85 + <td class="cislo">1234,56</td>
21.86 + </tr>
21.87 + </tbody>
21.88 + </table>
21.89 + <p class="vysledekOK">Ahoj. Právě jsi zmáčknul tlačítko „Vykonat SQL“ :-)</p>
21.90 + <p class="vysledekVarovani">Tohle se zobrazí při varování.</p>
21.91 + <p class="vysledekChyba">A tohle, když se něco nepovede.</p>
21.92 + <p class="vysledekTip">„Nějaký pěkný tip, citát, nebo <a href="http://frantovo.cz/blog/">odkaz</a> na stránku.“</p>
21.93 +</div>
21.94 \ No newline at end of file