Blader functie (Pagination)
Ik weet niet of dat ik het juiste sub-forum hebt gekozen.
we zijn al een tijdje (samen met iemand anders) om een soort van blader functie te maken.
Wat ik precies bedoel is dat er onder aan de site net als bij google de aantal pagina's
moet komen te staan.
Dus [vorige] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 .... [volgende]
Dit heb ik dus al, maar stel ik heb 50 pagina's, dan wordt die regel zeer lang.
Als men op 17 klikt, dan moet alles bijvoorbeeld 10 pagina's opschuiven.
[vorige] .... 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 .... [volgende]
Dit weet ik dus niet hoe ik dit moet doen.
Dit is de code wat ik tot nu toe hebt:
Code (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
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
<?
// Variabelen voor toegang
$_CONFIG["User"] = 'user';
$_CONFIG["PW"] = 'pw';
$_CONFIG["Host"] = 'localhost';
$_CONFIG["DB"] = 'DB';
// verbinding opbouwen met MySQL
$Verbinding = mysql_connect($_CONFIG["Host"], $_CONFIG["User"], $_CONFIG["PW"]);
if($Verbinding == false) // Verbinding is mislukt!
{
trigger_error("Kan geen verbinding maken met de database");
}
// Database als standaard definieren
$DbSelect = mysql_select_db($_CONFIG["DB"], $Verbinding);
if ($DbSelect == false) // DB selecteren is mislukt!
{
trigger_error("Kan de database niet selecteren");
}
?>
<?php
//Aantal artikelen per pagina
$aantal_per_pagina = 15;
$vorigepagina = 1;
$pagina=1;
$totaalglas = mysql_query("SELECT COUNT(*) as totaal FROM glas");
$rec = mysql_fetch_assoc($totaalglas);
$totaalglas = $rec['totaal'];
$totaalpaginastmp = $totaalglas / $aantal_per_pagina;
$totaalpaginas = round($totaalpaginastmp);
if ($totaalpaginas < $totaalpaginastmp)
{
$totaalpaginas++;
}
if(!empty($_GET) && isset($_GET['pagenumber'])) {
$pagina = $_GET['pagenumber'];
if ($pagina < 1)
{
$pagina = 1;
}
if ($pagina > $totaalpaginas)
{
$pagina = $totaalpaginas;
}
$vorigepagina = $pagina - 1;
if ($vorigepagina < 1 )
{
$vorigepagina = 1;
}
}
else
{
$pagina = 1;
$vorigepagina = 1;
}
$volgendepagina = $pagina +1;
if ($volgendepagina > $totaalpaginas)
{
$volgendepagina = $totaalpaginas;
}
$offset = ($pagina - 1) * $aantal_per_pagina;
$select_glas = "SELECT artnr, foto, artikel, artikel_naam, cl1, cl2,
hoogte, doorsnee, materiaal, blanco72, blanco120, blanco240, blanco480,
blanco960, blanco1920 FROM glas";
$select_glas .= " LIMIT $offset, $aantal_per_pagina";
$result = mysql_query($select_glas);
?>
<?php while($record = mysql_fetch_array($result)) { ?>
<div>
<img class="" src="<?=$record['foto']?>" />
</div>
<div>
<p><?=$record['artnr']?></p>
</div>
<div>
<p><?=$record['materiaal']?></p>
</div>
<div>
<p><?=$record['blanco72']?></p>
<p><?=$record['blanco120']?></p>
<p><?=$record['blanco240']?></p>
</div>
<?php } ?>
<div>
<ul>
<li><a href="bla.php?pagenumber=<?=($vorigepagina); ?>">[Vorige]</a></li>
<?php for($i=1; $i<=$totaalpaginas; $i++) { ?>
<li><a href="bla.php?pagenumber=<?=($i); ?>"><?=($i); ?></a></li>
<?php } ?>
<li><a href="bla.php?pagenumber=<?=($volgendepagina); ?>">[Volgende]</a></li>
</ul>
</div>[/code
// Variabelen voor toegang
$_CONFIG["User"] = 'user';
$_CONFIG["PW"] = 'pw';
$_CONFIG["Host"] = 'localhost';
$_CONFIG["DB"] = 'DB';
// verbinding opbouwen met MySQL
$Verbinding = mysql_connect($_CONFIG["Host"], $_CONFIG["User"], $_CONFIG["PW"]);
if($Verbinding == false) // Verbinding is mislukt!
{
trigger_error("Kan geen verbinding maken met de database");
}
// Database als standaard definieren
$DbSelect = mysql_select_db($_CONFIG["DB"], $Verbinding);
if ($DbSelect == false) // DB selecteren is mislukt!
{
trigger_error("Kan de database niet selecteren");
}
?>
<?php
//Aantal artikelen per pagina
$aantal_per_pagina = 15;
$vorigepagina = 1;
$pagina=1;
$totaalglas = mysql_query("SELECT COUNT(*) as totaal FROM glas");
$rec = mysql_fetch_assoc($totaalglas);
$totaalglas = $rec['totaal'];
$totaalpaginastmp = $totaalglas / $aantal_per_pagina;
$totaalpaginas = round($totaalpaginastmp);
if ($totaalpaginas < $totaalpaginastmp)
{
$totaalpaginas++;
}
if(!empty($_GET) && isset($_GET['pagenumber'])) {
$pagina = $_GET['pagenumber'];
if ($pagina < 1)
{
$pagina = 1;
}
if ($pagina > $totaalpaginas)
{
$pagina = $totaalpaginas;
}
$vorigepagina = $pagina - 1;
if ($vorigepagina < 1 )
{
$vorigepagina = 1;
}
}
else
{
$pagina = 1;
$vorigepagina = 1;
}
$volgendepagina = $pagina +1;
if ($volgendepagina > $totaalpaginas)
{
$volgendepagina = $totaalpaginas;
}
$offset = ($pagina - 1) * $aantal_per_pagina;
$select_glas = "SELECT artnr, foto, artikel, artikel_naam, cl1, cl2,
hoogte, doorsnee, materiaal, blanco72, blanco120, blanco240, blanco480,
blanco960, blanco1920 FROM glas";
$select_glas .= " LIMIT $offset, $aantal_per_pagina";
$result = mysql_query($select_glas);
?>
<?php while($record = mysql_fetch_array($result)) { ?>
<div>
<img class="" src="<?=$record['foto']?>" />
</div>
<div>
<p><?=$record['artnr']?></p>
</div>
<div>
<p><?=$record['materiaal']?></p>
</div>
<div>
<p><?=$record['blanco72']?></p>
<p><?=$record['blanco120']?></p>
<p><?=$record['blanco240']?></p>
</div>
<?php } ?>
<div>
<ul>
<li><a href="bla.php?pagenumber=<?=($vorigepagina); ?>">[Vorige]</a></li>
<?php for($i=1; $i<=$totaalpaginas; $i++) { ?>
<li><a href="bla.php?pagenumber=<?=($i); ?>"><?=($i); ?></a></li>
<?php } ?>
<li><a href="bla.php?pagenumber=<?=($volgendepagina); ?>">[Volgende]</a></li>
</ul>
</div>[/code
Gewijzigd op 01/01/1970 01:00:00 door Foo pyxidair
Misschien iemand een ideetje?
Zet je code misschien even volledig in code tags, zo leest het wat rot.
Ik heb het nu met [code] [/code] gedaan.
Is inderdaad beter leesbaar zo.
Gewijzigd op 01/01/1970 01:00:00 door foo pyxidair
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div>
<ul>
<li><a href="bla.php?pagenumber=<?=($vorigepagina); ?>">[Vorige]</a></li>
<?php
if($pagina > 17)
{
$starti = $pagina - 10;
}
else
{
$starti = 1;
}
$endi = $pagina + 10;
for($i=$starti; $i<=$endi; $i++)
{
echo' <li><a href="bla.php?pagenumber='.$i.'">'.$i.'</a></li>'."\r\n";
}
?>
<li><a href="bla.php?pagenumber=<?=($volgendepagina); ?>">[Volgende]</a></li>
</ul>
</div>
<ul>
<li><a href="bla.php?pagenumber=<?=($vorigepagina); ?>">[Vorige]</a></li>
<?php
if($pagina > 17)
{
$starti = $pagina - 10;
}
else
{
$starti = 1;
}
$endi = $pagina + 10;
for($i=$starti; $i<=$endi; $i++)
{
echo' <li><a href="bla.php?pagenumber='.$i.'">'.$i.'</a></li>'."\r\n";
}
?>
<li><a href="bla.php?pagenumber=<?=($volgendepagina); ?>">[Volgende]</a></li>
</ul>
</div>
Heb het niet gecontroleerd, maar dit zou moeten werken.
Code (php)
1
<li><a class="regular" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($i); ?>"><?=($i); ?></a></li>
Vertaalt hier in?
Code (php)
1
2
3
2
3
<?php
echo '<a href="bla.php?pagenumber=' . $i . '&zoek=' . $zoekterm . '">' . $i . '</a>';
?>
echo '<a href="bla.php?pagenumber=' . $i . '&zoek=' . $zoekterm . '">' . $i . '</a>';
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<div id="bladercontainer">
<ul id="blader">
<li><a class="bold" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($vorigepagina); ?>">[Vorige]</a></li>
<?php
if($pagina > 17)
{
$starti = $pagina - 10;
}
else
{
$starti = 1;
}
$endi = $pagina + 10;
for($i=$starti; $i<=$endi; $i++)
{
echo '<li><a class="regular" href="glas.php?pagenumber=' .$i. '&zoek=' . $zoekterm . '">'.$i.'</a></li>'."\r\n";
}
?>
<li><a class="bold" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($volgendepagina); ?>">[Volgende]</a></li>
</ul>
</div>
<ul id="blader">
<li><a class="bold" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($vorigepagina); ?>">[Vorige]</a></li>
<?php
if($pagina > 17)
{
$starti = $pagina - 10;
}
else
{
$starti = 1;
}
$endi = $pagina + 10;
for($i=$starti; $i<=$endi; $i++)
{
echo '<li><a class="regular" href="glas.php?pagenumber=' .$i. '&zoek=' . $zoekterm . '">'.$i.'</a></li>'."\r\n";
}
?>
<li><a class="bold" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($volgendepagina); ?>">[Volgende]</a></li>
</ul>
</div>
Dit is de pagina waar het om gaat
http://www.a-tisk.nl/novy/glas.php
De oude code heb ik er even bewust onder laten staan
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<div id="bladercontainer">
<ul id="blader">
<li><a class="bold" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($vorigepagina); ?>">[Vorige]</a></li>
<?php for($i=1; $i<=$totaalpaginas; $i++) { ?>
<li><a class="regular" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($i); ?>"><?=($i); ?></a></li>
<?php } ?>
<li><a class="bold" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($volgendepagina); ?>">[Volgende]</a></li>
</ul>
</div>
<ul id="blader">
<li><a class="bold" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($vorigepagina); ?>">[Vorige]</a></li>
<?php for($i=1; $i<=$totaalpaginas; $i++) { ?>
<li><a class="regular" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($i); ?>"><?=($i); ?></a></li>
<?php } ?>
<li><a class="bold" href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($volgendepagina); ?>">[Volgende]</a></li>
</ul>
</div>
Als je de pagina opent, dan zie je:
[Vorige] 1 2 3 4 5 6 7 8 9 10 11 [Volgende]
En daaronder zie een stuk van de oude code:
[Vorige] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18[Volgende]
15 items staan er per pagina en 259 items staan er in de DB
Als ik bij de nieuwe code op 11 klikt, dan is het de bedoeling dat hij 10
nummers door scrold, in dit geval maar 8, omdat er maar 18 pagina's zijn.
Als ik nu op 11 klikt, dan komt er 1 t/m 21 te staan, klik ik op 21, dan gaat
hij zelfs door tot aan 28.
Als je op pagina 11 bent, welke nummers wil je dan zien?
Van te voren wordt eerst geteld hoeveel pagina's
Code (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
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
<?php
//zoekterm
$zoekterm = "";
if(!empty($_POST) && isset($_POST['zoek']))
{
$zoekterm = $_POST['zoek'];
}
else if(!empty($_GET) && isset($_GET['zoek']))
{
$zoekterm = $_GET['zoek'];
}
//Aantal artikelen per pagina
$aantal_per_pagina = 15;
$vorigepagina = 1;
$pagina=1;
$totaalglas = mysql_query("SELECT COUNT(*) as totaal FROM glas WHERE
artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%'");
$rec = mysql_fetch_assoc($totaalglas);
$totaalglas = $rec['totaal'];
$totaalpaginastmp = $totaalglas / $aantal_per_pagina;
$totaalpaginas = round($totaalpaginastmp);
if ($totaalpaginas < $totaalpaginastmp)
{
$totaalpaginas++;
}
if(!empty($_GET) && isset($_GET['pagenumber']))
{
$pagina = $_GET['pagenumber'];
if ($pagina < 1)
{
$pagina = 1;
}
if ($pagina > $totaalpaginas)
{
$pagina = $totaalpaginas;
}
$vorigepagina = $pagina - 1;
if ($vorigepagina < 1 )
{
$vorigepagina = 1;
}
}
else
{
$pagina = 1;
$vorigepagina = 1;
}
$volgendepagina = $pagina +1;
if ($volgendepagina > $totaalpaginas)
{
$volgendepagina = $totaalpaginas;
}
$offset = ($pagina - 1) * $aantal_per_pagina;
$select_glas = "SELECT artnr, foto, artikel, artikel_naam, cl1, cl2,
hoogte, doorsnee, materiaal, blanco72, blanco120,
blanco240, blanco480, blanco960, blanco1920
FROM glas
WHERE artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%' ";
$select_glas .= " LIMIT $offset, $aantal_per_pagina";
$result = mysql_query($select_glas);
?>
//zoekterm
$zoekterm = "";
if(!empty($_POST) && isset($_POST['zoek']))
{
$zoekterm = $_POST['zoek'];
}
else if(!empty($_GET) && isset($_GET['zoek']))
{
$zoekterm = $_GET['zoek'];
}
//Aantal artikelen per pagina
$aantal_per_pagina = 15;
$vorigepagina = 1;
$pagina=1;
$totaalglas = mysql_query("SELECT COUNT(*) as totaal FROM glas WHERE
artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%'");
$rec = mysql_fetch_assoc($totaalglas);
$totaalglas = $rec['totaal'];
$totaalpaginastmp = $totaalglas / $aantal_per_pagina;
$totaalpaginas = round($totaalpaginastmp);
if ($totaalpaginas < $totaalpaginastmp)
{
$totaalpaginas++;
}
if(!empty($_GET) && isset($_GET['pagenumber']))
{
$pagina = $_GET['pagenumber'];
if ($pagina < 1)
{
$pagina = 1;
}
if ($pagina > $totaalpaginas)
{
$pagina = $totaalpaginas;
}
$vorigepagina = $pagina - 1;
if ($vorigepagina < 1 )
{
$vorigepagina = 1;
}
}
else
{
$pagina = 1;
$vorigepagina = 1;
}
$volgendepagina = $pagina +1;
if ($volgendepagina > $totaalpaginas)
{
$volgendepagina = $totaalpaginas;
}
$offset = ($pagina - 1) * $aantal_per_pagina;
$select_glas = "SELECT artnr, foto, artikel, artikel_naam, cl1, cl2,
hoogte, doorsnee, materiaal, blanco72, blanco120,
blanco240, blanco480, blanco960, blanco1920
FROM glas
WHERE artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%' ";
$select_glas .= " LIMIT $offset, $aantal_per_pagina";
$result = mysql_query($select_glas);
?>
bij 259 items in de DB en 15 items per pagina is dit 17 pagina's en een beetje (18 pagina's)
Start:
1 2 3 4 5 6 7 8 9 10 [Volgende]
Klik op volgende:
[Vorige] 2 3 4 5 6 7 8 9 10 11 [Volgende]
Klik op volgende:
[Vorige] 3 4 5 6 7 8 9 10 11 12 [Volgende]
(zover dat er uit eindelijk [vorige] 9 t/m 18 staat)
Of als je op een cijfer klikt, dat hij 10 posities door schuift.
Start:
1 2 3 4 5 6 7 8 9 10 [Volgende]
klik op 5:
[Vorige] 5 6 7 8 9 10 11 12 13 14 [Volgende]
of bij het klikken op 10 schuift hij 8 posities door om dat er maar 18 pagina' zijn.
[Vorige] 9 10 11 12 13 14 15 16 17 18
Binnenkort komt er nog wat glaswerk bij, dan wordt het misschien wel 25 pagina's
Dan schuif hij automatisch bij het klikken op 10 door van 10 t/m 19 [Volgende]
Gewijzigd op 01/01/1970 01:00:00 door foo pyxidair
hier eens naar.
Je doet het op zich goed, alleen de logica voor het weergeven klopt niet helemaal. Kijk is het resultaat.
Code (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<?
// Variabelen voor toegang
$_CONFIG["User"] = 'user';
$_CONFIG["PW"] = 'pw';
$_CONFIG["Host"] = 'localhost';
$_CONFIG["DB"] = 'db';
// verbinding opbouwen met MySQL
$Verbinding = mysql_connect($_CONFIG["Host"], $_CONFIG["User"], $_CONFIG["PW"]);
if($Verbinding == false) // Verbinding is mislukt!
{
trigger_error("Kan geen verbinding maken met de database");
}
// Database als standaard definieren
$DbSelect = mysql_select_db($_CONFIG["DB"], $Verbinding);
if ($DbSelect == false) // DB selecteren is mislukt!
{
trigger_error("Kan de database niet selecteren");
}
?>
<?
//zoekterm
$zoekterm = "";
if(!empty($_POST) && isset($_POST['zoek']))
{
$zoekterm = $_POST['zoek'];
}
else if(!empty($_GET) && isset($_GET['zoek']))
{
$zoekterm = $_GET['zoek'];
}
//Aantal artikelen per pagina
$aantal_per_pagina = 15;
$vorigepagina = 1;
$pagina=1;
$totaalglas = mysql_query("SELECT COUNT(*) as totaal FROM glas WHERE
artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%'");
$rec = mysql_fetch_assoc($totaalglas);
$totaalglas = $rec['totaal'];
$totaalpaginastmp = $totaalglas / $aantal_per_pagina;
$totaalpaginas = round($totaalpaginastmp);
if ($totaalpaginas < $totaalpaginastmp)
{
$totaalpaginas++;
}
if(!empty($_GET) && isset($_GET['pagenumber']))
{
$pagina = $_GET['pagenumber'];
if ($pagina < 1)
{
$pagina = 1;
}
if ($pagina > $totaalpaginas)
{
$pagina = $totaalpaginas;
}
$vorigepagina = $pagina - 1;
if ($vorigepagina < 1 )
{
$vorigepagina = 1;
}
}
else
{
$pagina = 1;
$vorigepagina = 1;
}
$volgendepagina = $pagina +1;
if ($volgendepagina > $totaalpaginas)
{
$volgendepagina = $totaalpaginas;
}
$offset = ($pagina - 1) * $aantal_per_pagina;
$select_glas = "SELECT artnr, foto, artikel, artikel_naam, cl1, cl2,
hoogte, doorsnee, materiaal, blanco72, blanco120,
blanco240, blanco480, blanco960, blanco1920
FROM glas
WHERE artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%' ";
$select_glas .= " LIMIT $offset, $aantal_per_pagina";
$result = mysql_query($select_glas);
?>
<? // Start navigatie container ?>
<div id="navigatie-container">
<div id="navigatie-bg">
<div id="tekst-center">
<p><a class="menu" href="index.php">Home</a></p>
<p><a class="menu" href="#">Catalogus</a></p>
<p><a class="menu" href="keramiek.php">Keramiek</a></p>
<p><a class="menu" href="glas.php">Glas</a></p>
<p><a class="menu" href="contact.php">Contact</a></p>
</div>
</div>
</div>
<? // Einde navigatie container ?>
<? // Start content container ?>
<div id="container">
<? // Start sub-menu ?>
<div id="sub-menu">
<? // Start sub_menu achtergrond ?>
<div id="sub-bg">
<p id="sub1">Omschrijving of artikel nummer
<form action="glas.php" method="post" name="form" class="zoekform" id="form">
<input name="zoek" type="text" class="zoekveld" id="zoek" />
<input type="submit" name="Zoeken" id="Zoeken" value="Zoeken" />
</form>
<p id="sub2"><a class="sub2tekst" href="glas.php?zoek=bier">Bierglazen</a>
<p id="sub2"><a class="sub2tekst" href="glas.php?zoek=Drinkglas">Drinkglas</a>
</div>
<? // Einde sub_menu achtergrond ?>
</div>
<? // Einde sub-menu ?>
<? // Start content container ?>
<div id="content">
<? // Start content achtergrond ?>
<div id="content-bg">
<? // Start overflow ?>
<div id="overflow">
<? // Start productcontainer ?>
<div id="productcontainer">
<? if ($totaalglas == 0) { ?>
<p>We hebben niet gevonden waarop u zocht</p>
<p>Klik hier voor onze <a href="glas.php">glas</a> catalogus.</p>
<? } //einde if ?>
<? while($record = mysql_fetch_array($result)) { ?>
<? // Start productfoto ?>
<div id="productfoto" align="center">
<img class="foto" src="<?=$record['foto']?>" />
<p id="artikelnr"><?=$record['artnr']?></p>
</div>
<? // Einde productfoto ?>
<? // Start productinfo ?>
<div id="productinfo">
<? // Start info ?>
<div id="info">
<p id="tekst2">
<?=$record['artikel']?>
"<?=$record['artikel_naam']?>"
Artikelnr. <?=$record['artnr']?> <br />
<?=$record['cl1']?>
<?=$record['cl2']?> /
<?=$record['hoogte']?> mm. hoog /
<?=$record['doorsnee']?> mm. Ø
</p>
</div>
<? // Einde info ?>
<? // Start materiaal ?>
<div id="materiaal">
<p id="kop">Materiaal:</p>
<p id="tekst"><?=$record['materiaal']?></p>
</div>
<? // Einde materiaal ?>
<? // Start stuks ?>
<div id="stuks">
<p id="stuks2">Vanaf 72<br />stuks</p>
<p id="stuks2">Vanaf 120<br />stuks</p>
<p id="stuks2">Vanaf 240<br />stuks</p>
<p id="stuks2">Vanaf 480<br />stuks</p>
<p id="stuks2">Vanaf 960<br />stuks</p>
<p id="stuks2">Vanaf 1920<br />stuks</p>
</div>
<? // Einde stuks ?>
<? // Start prijs ?>
<div id="prijs">
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco72']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco120']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco240']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco480']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco960']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco1920']) * 1.5, 2, ',', '.')?></p>
<p id="exclusief">prijzen exclusief bedrukking</p>
</div>
<? // Einde prijs ?>
</div>
<? // Einde productinfo ?>
<hr id="lijn" />
<? } ?>
</div>
<? // Einde productcontainer ?>
</div>
<? // Einde overflow ?>
</div>
<? // Einde content achtergrond ?>
</div>
<? // Einde content ?>
</div>
<? // Einde content container ?>
<? // Start paginationcontainer ?>
<? if($totaalglas > 0) { ?>
<div id="paginationcontainer">
<div id="pagination">
<form action="glas.php" method="get" name="form" class="paginationzoekform" id="form">
<? if ($pagina > 1) { ?>
<div>
<a href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($vorigepagina); ?>" class="blader"><<</a>
</div>
<? } // Einde if?>
<p class="paginationtekst">Pagina <?=($pagina); ?> van <?=($totaalpaginas);?></p>
<? if ($pagina < $totaalpaginas) { ?>
<div>
<a href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($volgendepagina); ?>" class="blader">>></a>
</div>
<? } // Einde if?>
<? if ($totaalpaginas > 1) { ?>
<p class="paginationtekst2">ga naar pagina</p>
<p>
<input name="pagenumber" type="text" class="paginationzoekveld" id="pagenumber" />
<input name="zoek" type="hidden" value="<?=($zoekterm);?>" />
<input type="submit" value="Ga" />
</p>
<? } // Einde if?>
</form>
</div>
</div>
<? } // Einde if ?>
<? // Einde paginationcontainer ?>
// Variabelen voor toegang
$_CONFIG["User"] = 'user';
$_CONFIG["PW"] = 'pw';
$_CONFIG["Host"] = 'localhost';
$_CONFIG["DB"] = 'db';
// verbinding opbouwen met MySQL
$Verbinding = mysql_connect($_CONFIG["Host"], $_CONFIG["User"], $_CONFIG["PW"]);
if($Verbinding == false) // Verbinding is mislukt!
{
trigger_error("Kan geen verbinding maken met de database");
}
// Database als standaard definieren
$DbSelect = mysql_select_db($_CONFIG["DB"], $Verbinding);
if ($DbSelect == false) // DB selecteren is mislukt!
{
trigger_error("Kan de database niet selecteren");
}
?>
<?
//zoekterm
$zoekterm = "";
if(!empty($_POST) && isset($_POST['zoek']))
{
$zoekterm = $_POST['zoek'];
}
else if(!empty($_GET) && isset($_GET['zoek']))
{
$zoekterm = $_GET['zoek'];
}
//Aantal artikelen per pagina
$aantal_per_pagina = 15;
$vorigepagina = 1;
$pagina=1;
$totaalglas = mysql_query("SELECT COUNT(*) as totaal FROM glas WHERE
artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%'");
$rec = mysql_fetch_assoc($totaalglas);
$totaalglas = $rec['totaal'];
$totaalpaginastmp = $totaalglas / $aantal_per_pagina;
$totaalpaginas = round($totaalpaginastmp);
if ($totaalpaginas < $totaalpaginastmp)
{
$totaalpaginas++;
}
if(!empty($_GET) && isset($_GET['pagenumber']))
{
$pagina = $_GET['pagenumber'];
if ($pagina < 1)
{
$pagina = 1;
}
if ($pagina > $totaalpaginas)
{
$pagina = $totaalpaginas;
}
$vorigepagina = $pagina - 1;
if ($vorigepagina < 1 )
{
$vorigepagina = 1;
}
}
else
{
$pagina = 1;
$vorigepagina = 1;
}
$volgendepagina = $pagina +1;
if ($volgendepagina > $totaalpaginas)
{
$volgendepagina = $totaalpaginas;
}
$offset = ($pagina - 1) * $aantal_per_pagina;
$select_glas = "SELECT artnr, foto, artikel, artikel_naam, cl1, cl2,
hoogte, doorsnee, materiaal, blanco72, blanco120,
blanco240, blanco480, blanco960, blanco1920
FROM glas
WHERE artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%' ";
$select_glas .= " LIMIT $offset, $aantal_per_pagina";
$result = mysql_query($select_glas);
?>
<? // Start navigatie container ?>
<div id="navigatie-container">
<div id="navigatie-bg">
<div id="tekst-center">
<p><a class="menu" href="index.php">Home</a></p>
<p><a class="menu" href="#">Catalogus</a></p>
<p><a class="menu" href="keramiek.php">Keramiek</a></p>
<p><a class="menu" href="glas.php">Glas</a></p>
<p><a class="menu" href="contact.php">Contact</a></p>
</div>
</div>
</div>
<? // Einde navigatie container ?>
<? // Start content container ?>
<div id="container">
<? // Start sub-menu ?>
<div id="sub-menu">
<? // Start sub_menu achtergrond ?>
<div id="sub-bg">
<p id="sub1">Omschrijving of artikel nummer
<form action="glas.php" method="post" name="form" class="zoekform" id="form">
<input name="zoek" type="text" class="zoekveld" id="zoek" />
<input type="submit" name="Zoeken" id="Zoeken" value="Zoeken" />
</form>
<p id="sub2"><a class="sub2tekst" href="glas.php?zoek=bier">Bierglazen</a>
<p id="sub2"><a class="sub2tekst" href="glas.php?zoek=Drinkglas">Drinkglas</a>
</div>
<? // Einde sub_menu achtergrond ?>
</div>
<? // Einde sub-menu ?>
<? // Start content container ?>
<div id="content">
<? // Start content achtergrond ?>
<div id="content-bg">
<? // Start overflow ?>
<div id="overflow">
<? // Start productcontainer ?>
<div id="productcontainer">
<? if ($totaalglas == 0) { ?>
<p>We hebben niet gevonden waarop u zocht</p>
<p>Klik hier voor onze <a href="glas.php">glas</a> catalogus.</p>
<? } //einde if ?>
<? while($record = mysql_fetch_array($result)) { ?>
<? // Start productfoto ?>
<div id="productfoto" align="center">
<img class="foto" src="<?=$record['foto']?>" />
<p id="artikelnr"><?=$record['artnr']?></p>
</div>
<? // Einde productfoto ?>
<? // Start productinfo ?>
<div id="productinfo">
<? // Start info ?>
<div id="info">
<p id="tekst2">
<?=$record['artikel']?>
"<?=$record['artikel_naam']?>"
Artikelnr. <?=$record['artnr']?> <br />
<?=$record['cl1']?>
<?=$record['cl2']?> /
<?=$record['hoogte']?> mm. hoog /
<?=$record['doorsnee']?> mm. Ø
</p>
</div>
<? // Einde info ?>
<? // Start materiaal ?>
<div id="materiaal">
<p id="kop">Materiaal:</p>
<p id="tekst"><?=$record['materiaal']?></p>
</div>
<? // Einde materiaal ?>
<? // Start stuks ?>
<div id="stuks">
<p id="stuks2">Vanaf 72<br />stuks</p>
<p id="stuks2">Vanaf 120<br />stuks</p>
<p id="stuks2">Vanaf 240<br />stuks</p>
<p id="stuks2">Vanaf 480<br />stuks</p>
<p id="stuks2">Vanaf 960<br />stuks</p>
<p id="stuks2">Vanaf 1920<br />stuks</p>
</div>
<? // Einde stuks ?>
<? // Start prijs ?>
<div id="prijs">
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco72']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco120']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco240']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco480']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco960']) * 1.5, 2, ',', '.')?></p>
<p id="prijs2"><?=number_format(str_replace(',', '.', $record['blanco1920']) * 1.5, 2, ',', '.')?></p>
<p id="exclusief">prijzen exclusief bedrukking</p>
</div>
<? // Einde prijs ?>
</div>
<? // Einde productinfo ?>
<hr id="lijn" />
<? } ?>
</div>
<? // Einde productcontainer ?>
</div>
<? // Einde overflow ?>
</div>
<? // Einde content achtergrond ?>
</div>
<? // Einde content ?>
</div>
<? // Einde content container ?>
<? // Start paginationcontainer ?>
<? if($totaalglas > 0) { ?>
<div id="paginationcontainer">
<div id="pagination">
<form action="glas.php" method="get" name="form" class="paginationzoekform" id="form">
<? if ($pagina > 1) { ?>
<div>
<a href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($vorigepagina); ?>" class="blader"><<</a>
</div>
<? } // Einde if?>
<p class="paginationtekst">Pagina <?=($pagina); ?> van <?=($totaalpaginas);?></p>
<? if ($pagina < $totaalpaginas) { ?>
<div>
<a href="glas.php?zoek=<?=($zoekterm); ?>&pagenumber=<?=($volgendepagina); ?>" class="blader">>></a>
</div>
<? } // Einde if?>
<? if ($totaalpaginas > 1) { ?>
<p class="paginationtekst2">ga naar pagina</p>
<p>
<input name="pagenumber" type="text" class="paginationzoekveld" id="pagenumber" />
<input name="zoek" type="hidden" value="<?=($zoekterm);?>" />
<input type="submit" value="Ga" />
</p>
<? } // Einde if?>
</form>
</div>
</div>
<? } // Einde if ?>
<? // Einde paginationcontainer ?>
www.a-tisk.nl/novy/glas.php
Naar onze mening werkt het redelijk perfect, maar zit er nog
iets in de PHP waar wij over heen kijken en dat problemen kan
veroorzaken?
Gewijzigd op 01/01/1970 01:00:00 door foo pyxidair
Moet dat nou, al die shorttags voor alleen maar een comment?
Nee, maar die gaan dadelijk ook weg als ik klaar ben.
Die shorttags zijn er niet voor de commentaar, het is de
bedoeling dat de commentaar verwijdert wordt.
Maar zonder die shorttags werkt het niet helemaal, ik
weet dat het niet netjes zo is, maar ik weet niet hoe
ik het anders moet doen.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$zoekterm = $_POST['zoek'];
&
$zoekterm = $_GET['zoek'];
$totaalglas = mysql_query("SELECT COUNT(*) as totaal FROM glas WHERE
artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%'");
?>
$zoekterm = $_POST['zoek'];
&
$zoekterm = $_GET['zoek'];
$totaalglas = mysql_query("SELECT COUNT(*) as totaal FROM glas WHERE
artikel LIKE '%$zoekterm%' OR artikel_naam LIKE '%$zoekterm%' OR artnr LIKE '%$zoekterm%'");
?>
Op deze manier kunnen bezoekers met verkeerde bedoelingen zomaar hun gang gaan.
Verder zie ik zo geen problemen.
Dat is waar ik van de week voor het eerst iets van gehoord hebt.
Deze vraag had ik al in in het subforum PHP gesteld.
Met het antwoord die ik van teuneboon hebt gekregen ga ik
aankomend weekend mee aan de slag.
Is er nog een manier om die shorttags op een nette manier te verwerken?