Index: java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Ajax.java
===================================================================
--- java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Ajax.java	(revision 12:1b10a6565e8c)
+++ java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Ajax.java	(revision 13:96e711f3ef48)
@@ -3,4 +3,6 @@
 import cz.frantovo.sql.vyuka.dto.Hlaska;
 import cz.frantovo.sql.vyuka.dto.Hlaska.Typ;
+import cz.frantovo.sql.vyuka.dto.Tabulka;
+import cz.frantovo.sql.vyuka.dto.Uzivatel;
 import cz.frantovo.sql.vyuka.dto.VysledekSQL;
 
@@ -14,11 +16,23 @@
      * @return Historie SQL příkazů daného uživatele.
      */
-    public String getHistorie(String idSezeni) {
+    public String getHistorie(Uzivatel uzivatel) {
         VysledekSQL v = new VysledekSQL();
         v.getHlasky().add(new Hlaska("Bude vypsána vaše historie", Typ.OK));
-        v.getHlasky().add(new Hlaska("idSezení: " + idSezeni, Typ.OK));
+        v.getHlasky().add(new Hlaska("idSezení: " + uzivatel.getIdSezeni(), Typ.OK));
         v.getHlasky().add(new Hlaska("Ale ještě to není hotové.", Typ.Varovani));
         v.getHlasky().add(new Hlaska("Což je asi chyba.", Typ.Chyba));
-        v.getHlasky().add(new Hlaska("Stejně vám něco <a href=\"http://frantovo.cz/blog/\">doporučíme</a>.", Typ.Tip));
+        v.getHlasky().add(new Hlaska("Stejně vám něco <a href=\"http://frantovo.cz/blog/\">doporučíme</a>.", Typ.Tip, false));
+
+
+        Tabulka t = new Tabulka();
+        String[] zahlavi = {"Kdy", "SQL příkaz"};
+        t.setZahlavi(zahlavi);
+        for (int i = 1; i < 4; i++) {
+            String[] hodnoty = {"Někdy " + i, "SELECT * FROM tabulka WHERE id = " + i};
+            t.getHodnoty().add(hodnoty);
+        }
+        v.getTabulky().add(t);
+
+
         return v.getHtml();
     }
@@ -28,12 +42,26 @@
      * @return Výsledek dotazu – tabulka, hláška nebo chyba.
      */
-    public String geSQLVysledek(String sql, String idSezeni) {
+    public String geSQLVysledek(String sql, Uzivatel uzivatel) {
         VysledekSQL v = new VysledekSQL();
         v.getHlasky().add(new Hlaska("Bude vykonán SQL dotaz.", Typ.OK));
-        v.getHlasky().add(new Hlaska("idSezení: " + idSezeni, Typ.OK));
+        v.getHlasky().add(new Hlaska("idSezení: " + uzivatel.getIdSezeni(), Typ.OK));
         v.getHlasky().add(new Hlaska("SQL: " + sql, Typ.OK));
+        v.getHlasky().add(new Hlaska("IP adresa: " + uzivatel.getIpAdresa(), Typ.OK));
+        v.getHlasky().add(new Hlaska("IP adresa a SQL dotaz budou uloženy", Typ.Varovani));
         v.getHlasky().add(new Hlaska("Ale ještě to není hotové.", Typ.Varovani));
         v.getHlasky().add(new Hlaska("Což je asi chyba.", Typ.Chyba));
-        v.getHlasky().add(new Hlaska("Stejně vám něco <a href=\"http://frantovo.cz/blog/\">doporučíme</a>.", Typ.Tip));
+        v.getHlasky().add(new Hlaska("Stejně vám něco <a href=\"http://frantovo.cz/blog/\">doporučíme</a>.", Typ.Tip, false));
+
+        for (int n = 1; n < 3; n++) {
+            Tabulka t = new Tabulka();
+            String[] zahlavi = {"Sloupeček 1", "Nějaké číslo"};
+            t.setZahlavi(zahlavi);
+            for (int i = 1; i < 4; i++) {
+                Object[] hodnoty = {"počet " + i, new Integer(i * n)};
+                t.getHodnoty().add(hodnoty);
+            }
+            v.getTabulky().add(t);
+        }
+
         return v.getHtml();
     }
Index: java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java
===================================================================
--- java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java	(revision 12:1b10a6565e8c)
+++ java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/ajax/Servlet.java	(revision 13:96e711f3ef48)
@@ -1,4 +1,5 @@
 package cz.frantovo.sql.vyuka.ajax;
 
+import cz.frantovo.sql.vyuka.dto.Uzivatel;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -54,13 +55,13 @@
 
             Ajax a = new Ajax();
-            String idSezeni = request.getRequestedSessionId();
 
+            Uzivatel uzivatel = new Uzivatel(request.getRequestedSessionId(), request.getRemoteHost());
 
             switch (parametrAkce) {
                 case vykonat:
-                    out.println(a.geSQLVysledek(request.getParameter("sql"), idSezeni));
+                    out.println(a.geSQLVysledek(request.getParameter("sql"), uzivatel));
                     break;
                 case historie:
-                    out.println(a.getHistorie(idSezeni));
+                    out.println(a.getHistorie(uzivatel));
                     break;
                 case test:
Index: java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java
===================================================================
--- java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java	(revision 12:1b10a6565e8c)
+++ java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Tabulka.java	(revision 13:96e711f3ef48)
@@ -36,7 +36,9 @@
             html.append("<tbody>");
             for (Object[] hh : getHodnoty()) {
+                html.append("<tr>");
                 for (Object h : hh) {
-                    html.append(formatujRadek(h));
+                    html.append(formatujBunku(h));
                 }
+                html.append("</tr>");
             }
             html.append("</tbody>");
@@ -49,5 +51,6 @@
     }
 
-    private String formatujRadek(Object o) {
+    private String formatujBunku(Object o) {
+        /** TODO: podporovat i jiné typy */
         if (o instanceof Integer) {
             return "<td class=\"cislo\">" + Html.escapuj(String.valueOf(o)) + "</td>";
Index: java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Uzivatel.java
===================================================================
--- java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Uzivatel.java	(revision 13:96e711f3ef48)
+++ java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dto/Uzivatel.java	(revision 13:96e711f3ef48)
@@ -0,0 +1,32 @@
+package cz.frantovo.sql.vyuka.dto;
+
+/**
+ * Uživatel u webu.
+ * @author fiki
+ */
+public class Uzivatel {
+
+    private String idSezeni;
+    private String ipAdresa;
+
+    public Uzivatel(String idSezeni, String ipAdresa) {
+        this.idSezeni = idSezeni;
+        this.ipAdresa = ipAdresa;
+    }
+
+    public String getIdSezeni() {
+        return idSezeni;
+    }
+
+    public void setIdSezeni(String idSezeni) {
+        this.idSezeni = idSezeni;
+    }
+
+    public String getIpAdresa() {
+        return ipAdresa;
+    }
+
+    public void setIpAdresa(String ipAdresa) {
+        this.ipAdresa = ipAdresa;
+    }
+}
Index: ava/sql-vyuka/web/historie.html
===================================================================
--- java/sql-vyuka/web/historie.html	(revision 10:5d6592e753c0)
+++ 	(revision )
@@ -1,26 +1,0 @@
-<div>
-    <table>
-        <thead title="Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.">
-            <tr>
-                <td>Kdy</td>
-                <td>SQL příkaz</td>
-            </tr>
-        </thead>
-        <tbody>
-            <tr>
-                <td>2008-05-24 16:00:08</td>
-                <td>SELECT * FROM tabulka WHERE id = 123;</td>
-            </tr>
-            <tr>
-                <td>2008-05-24 15:55:10</td>
-                <td>SELECT * FROM tabulka WHERE id = 123 ORDER BY datum DESC;</td>
-            </tr>
-            <tr>
-                <td>2008-05-24 15:51:28</td>
-                <td>SELECT * <br/>FROM tabulka <br/>JOIN druha_tabulka USING (email) <br/>WHERE id = 8;</td>
-            </tr>
-        </tbody>
-    </table>
-    <p class="vysledekOK">Toto je historie provedených SQL příkazů.</p>
-    <p class="vysledekTip">„Nějaký pěkný tip, citát, nebo <a href="http://frantovo.cz/blog/">odkaz</a> na stránku.“</p>
-</div>
Index: ava/sql-vyuka/web/vysledek.html
===================================================================
--- java/sql-vyuka/web/vysledek.html	(revision 10:5d6592e753c0)
+++ 	(revision )
@@ -1,90 +1,0 @@
-<div>
-    <table>
-        <thead title="Chceš setřídit výsledek podle nějakého sloupce? Co takhle ORDER BY sloupec.">
-            <tr>
-                <td>Sloupeček 1</td>
-                <td>Sloupeček 2</td>
-                <td>Sloupeček 3</td>
-                <td>Sloupeček 4</td>
-            </tr>
-        </thead>
-        <tbody>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-            <tr>
-                <td>Hodnota 1</td>
-                <td>Hodnota 2</td>
-                <td>Hodnota 3</td>
-                <td class="cislo">1234,56</td>
-            </tr>
-        </tbody>
-    </table>
-    <p class="vysledekOK">Ahoj. Právě jsi zmáčknul tlačítko „Vykonat SQL“ :-)</p>
-    <p class="vysledekVarovani">Tohle se zobrazí při varování.</p>
-    <p class="vysledekChyba">A tohle, když se něco nepovede.</p>
-    <p class="vysledekTip">„Nějaký pěkný tip, citát, nebo <a href="http://frantovo.cz/blog/">odkaz</a> na stránku.“</p>
-</div>
