<?php
$DEMOS = [
    "tab-mesto" => "SELECT * FROM mesto",
    "tab-kraj" => "SELECT * FROM kraj",
    "mesto-jmena" => "SELECT jmeno FROM mesto",
    "mala-mesta" => "SELECT jmeno FROM mesto WHERE obyvatel < 20000",
    "mesto-stredni-cechy" => "SELECT * FROM mesto WHERE kraj = 2",
    "tab-kraj-mesto-spatne" => "SELECT * FROM kraj, mesto",
    "tab-kraj-mesto" => "SELECT mesto.jmeno, kraj.jmeno FROM mesto JOIN kraj ON mesto.kraj = kraj.id",
    "obyvatele-mest" => "SELECT kraj.jmeno, SUM(mesto.obyvatel) FROM kraj JOIN mesto ON (kraj.id = mesto.kraj) GROUP BY kraj.id",
    "tab-ridic" => "SELECT * FROM ridic",
    "tab-vozidlo" => "SELECT * FROM vozidlo",
    "tab-jizda" => "SELECT * FROM jizda",
    "pocet-obyvatel-kraj" => "SELECT SUM(obyvatel) FROM kraj",
    "pocet-obyvatel-mesto" => "SELECT SUM(obyvatel) FROM mesto",
    "pocet-radek-mesto" => "SELECT COUNT(obyvatel) FROM mesto",
    "pocet-obyvatel-where" => "SELECT SUM(obyvatel) FROM mesto WHERE kraj = 2",
    "pocet-obyvatel-v-krajich-spatne" => "SELECT SUM(obyvatel), kraj FROM mesto",
    "pocet-obyvatel-v-krajich" => "SELECT SUM(obyvatel), kraj FROM mesto GROUP BY kraj",
    "pocet-obyvatel-spatne" => "SELECT obyvatel, kraj FROM mesto GROUP BY kraj",
    "pocet-obyvatel-mest-po-krajich" => "SELECT SUM(mesto.obyvatel) obyvatel_celkem,kraj.jmeno FROM mesto JOIN kraj ON (mesto.kraj = kraj.id) GROUP BY kraj",
    "servis-master" => "SELECT * FROM sqlite_master",
    "servis-autoincrement" => "SELECT * FROM sqlite_sequence",
];

if (isset($_GET['demo'])) {
    $query = @$DEMOS[$_GET['demo']];
    $show_form = false;
} else {
    if (!isset($_GET['secret'])) {
    	printf("Wrong password!");
    	exit(0);
    }
    if ($_GET['secret'] != 'bumbumbum') {
    	printf("Wrong password!");
    	exit(0);
    }
    if (isset($_GET['source'])) {
    	show_source(__FILE__);
    	exit(0);
    }

    $query = @$_POST['query'];
    $show_form = true;
}



$db = new SQLite3('base.db', SQLITE3_OPEN_READONLY);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hrátky s databází</title>
<script type="text/javascript" src="../js/jquery-1.10.2.min.js"></script>
<link href="../css/main.css" rel="stylesheet" type="text/css" media="screen,projection,handheld">
<link href="../css/mobile.css" rel="stylesheet" type="text/css" media="screen,projection,handheld">
<link href="../css/sizes.css" rel="stylesheet" type="text/css" media="screen,projection,handheld">
<link href="../css/print.css" rel="stylesheet" type="text/css" media="print">
<script type="text/javascript">
$( document ).ready(function() {
	$("#query").focus();
});
	</script>
<style type="text/css">
TABLE.results {
	padding: 0;
	margin: 1em;
	border-collapse: collapse;
	border: 0 solid black;
	border-width: 2px 0 2px 0;
}
TABLE.results TH {
	border-bottom: 1px solid;
	padding: 1ex;
	text-align: left;
}
TABLE.results TD {
	padding: 0.5ex 1ex;
}

TABLE.results TBODY TR:nth-child(odd) {
	background-color: #DDD;
}
TABLE.results TBODY TR:nth-child(even) {
	background-color: #EEE;
}
</style>
</head>
<body><div id="container">
<h1>Hrátky s databází</h1>

<?php if ($show_form) { ?>
<form method="post">
<textarea cols="80" rows="5" style="width:100%" name="query" id="query">
<?php echo htmlspecialchars($query); ?>
</textarea>
<p>
<input type="submit" value="Odeslat dotaz" />
</p>
</form>
<?php } else {
    printf("<pre>%s</pre>\n", htmlspecialchars($query));
}
?>

<?php
if (trim($query) != "") {
	printf("<h2>Výsledek</h2>\n");
	$result = @$db->query($query);
	if ($result === FALSE) {
		printf("<p>Příkaz selhal: <b>%s</b>.</p>", htmlspecialchars($db->lastErrorMsg()));
	} else {
		printf("<table class=\"results\">\n");
		printf("<thead><tr>");
		$columns = $result->numColumns();
		for ($i = 0; $i < $columns; $i++) {
			printf("<th>%s</th>", htmlspecialchars($result->columnName($i)));
		}
		printf("</tr></thead>\n");
		printf("<tbody>\n");
		$rows = 0;
		while (TRUE) {
			$row = @$result->fetchArray();
			if (($row === FALSE) || ($row == NULL)) {
				break;
			}
			printf("<tr>");
			for ($i = 0; $i < $columns; $i++) {
				printf("<td>%s</td>", htmlspecialchars($row[$i]));
			}
			printf("</tr>");
			$rows++;
		}
		if ($rows == 0) {
			printf("<tr><td colspan=\"%d\"><i>Žádné výsledky</i></td></tr>\n", $columns);
		}
		printf("</tbody></table>\n");
	}
}
?>
<address><a href="?source=yes">Zobrazit zdrojový kód</a></address>
</div>
</body>
</html>
