-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreateTable.php
111 lines (95 loc) · 3.62 KB
/
createTable.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
require 'filterResults.php';
function table()
{
// Hankitaan query parametrit ja parsitaan ne
$tyyppi = isset($_GET['tyyppi']) ? $_GET['tyyppi'] : null;
$valmistusmaa = isset($_GET['valmistusmaa']) ? $_GET['valmistusmaa'] : null;
$pullokoko_min = isset($_GET['pullokoko_min']) ? $_GET['pullokoko_min'] : null;
if ($pullokoko_min !== null) {
$pullokoko_min = str_replace(',', '.', $pullokoko_min);
$pullokoko_min = floatval($pullokoko_min);
}
$pullokoko_max = isset($_GET['pullokoko_max']) ? $_GET['pullokoko_max'] : null;
if ($pullokoko_max !== null) {
$pullokoko_max = str_replace(',', '.', $pullokoko_max);
$pullokoko_max = floatval($pullokoko_max);
}
$hintavali_min = isset($_GET['hintavali_min']) ? $_GET['hintavali_min'] : null;
if ($hintavali_min !== null) {
$hintavali_min = str_replace(',', '.', $hintavali_min);
$hintavali_min = floatval($hintavali_min);
}
$hintavali_max = isset($_GET['hintavali_max']) ? $_GET['hintavali_max'] : null;
if ($hintavali_max !== null) {
$hintavali_max = str_replace(',', '.', $hintavali_max);
}
$energiamaara_min = isset($_GET['energiamaara_min']) ? $_GET['energiamaara_min'] : null;
if ($energiamaara_min !== null) {
$energiamaara_min = str_replace(',', '.', $energiamaara_min);
}
$energiamaara_max = isset($_GET['energiamaara_max']) ? $_GET['energiamaara_max'] : null;
if ($energiamaara_max !== null) {
$energiamaara_max = str_replace(',', '.', $energiamaara_max);
}
// Pagination
$page = isset($_GET['page']) ? (int) $_GET['page'] : 1;
$limit = 25;
$offset = ($page - 1) * $limit;
$result = filter(tyyppi: $tyyppi, valmistusmaa: $valmistusmaa, pullokoko_min: $pullokoko_min, pullokoko_max: $pullokoko_max, hintavali_min: $hintavali_min, hintavali_max: $hintavali_max, energiamaara_min: $energiamaara_min, energiamaara_max: $energiamaara_max);
if ($result) {
$pageResults = array_slice($result, $offset, $limit);
echo "<div class='pagination-container'>";
$queryParams = $_GET;
// Edellinen
if ($page > 1) {
$queryParams['page'] = $page - 1;
$prevPageLink = http_build_query($queryParams);
echo "<a class='nes-btn' href='?$prevPageLink'>Edellinen</a> ";
}
// Seuraava
if ($offset + $limit < count($result)) {
$queryParams['page'] = $page + 1;
$nextPageLink = http_build_query($queryParams);
echo "<a class='nes-btn' href='?$nextPageLink'>Seuraava</a>";
}
echo "</div>";
echo "<div class='nes-table-responsive'>
<table class='nes-table is-bordered is-centered'>
<thead>
<tr>
<th>Numero</th>
<th>Nimi</th>
<th>Valmistaja</th>
<th>Pullokoko</th>
<th>Hinta</th>
<th>Litrahinta</th>
<th>Tyyppi</th>
<th>Valmistusmaa</th>
<th>Vuosikerta</th>
<th>Alkoholi-%</th>
<th>kcal/100 ml</th>
</tr>
</thead>
<tbody>";
foreach ($pageResults as $row) {
echo
"<tr><td>" . htmlspecialchars($row->Numero) .
"</td><td>" . htmlspecialchars($row->Nimi) .
"</td><td>" . htmlspecialchars($row->Valmistaja) .
"</td><td>" . htmlspecialchars($row->Pullokoko) .
"</td><td>" . htmlspecialchars($row->Hinta) .
"</td><td>" . htmlspecialchars($row->Litrahinta) .
"</td><td>" . htmlspecialchars($row->Tyyppi) .
"</td><td>" . htmlspecialchars($row->Valmistusmaa) .
"</td><td>" . htmlspecialchars($row->Vuosikerta) .
"</td><td>" . htmlspecialchars($row->{'Alkoholi-%'}) .
"</td><td>" . htmlspecialchars($row->{'Energia kcal/100 ml'}) .
"</td></tr>";
}
echo "</tbody></table></div>";
} else {
echo "Ei tuloksia";
}
}
?>