aantal uitlezen op pagina
ik wil graag dat hij 10 restulaten op een pagina uit leest.
of 15 in iedergeval dat ik dat kan aan passen.
dus dat je zo iets heb:
result 1
result 2
result 3
result 4
result 5
<- 1-2-3 ->
even makkelijk gezegt,
hoe kan ik dit het beste doen?
Alvast bedankt.
Greets Mitch
Dan laat je de eerste 10 resultaten zien
ik ben aan het kijken hoe ik dit moet doen.
tot nu to heb ik het volgende:
Maar er is een probleem.
bij pagina 0 leest hij er 2 uit
bij pagina 1 leest hij er 4 uit
bij pagina 2 leest hij er 6 uit
wat doe ik verkeerd? xD
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
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
<?php
$limitpage = 2;
$sql2 = "SELECT * FROM logboek";
$query2 = mysql_query($sql2) or die (mysql_error ());
$num_rows = mysql_num_rows($query2);
if(!isset($_GET['page'])){
$page = 0;
$_GET['page'] = 0;
}else{
$page = $_GET['page'];
}
$limit = $page * $limitpage;
$limit2 = $limit + $limitpage;
$sql = "SELECT * FROM logboek ORDER BY id DESC LIMIT $limit, $limit2";
$query = mysql_query($sql) or die (mysql_error ());
if(mysql_num_rows($query) == 0){
echo 'Geen log bestanden in het logboek.<br>';
}else{
echo '<table width="100%">
<tr><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">Datum</td><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">Omschrijving</td><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">IP</td></tr>';
while($row = mysql_fetch_assoc($query)){
echo '<tr><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">'.$row['datum'].'</td><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">'.$row['omschrijving'].'</td><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">'.$row['ip'].'</td></tr>';
}
echo '</table>';
}
echo '<center>';
$backpage = $_GET['page'] - 1;
if(!$_GET['page'] <= 0){
echo ' <a href="?page='.$backpage.'"><<</a> ';
}
$page2 = $num_rows / $limitpage;
$page2 = $page2 - 1;
$page3 = $num_rows / $limitpage - 2;
for ( $counter = 0; $counter <= floor($page2); $counter += 1) {
if($_GET['page'] == $counter){
echo ' <a href="?page='.$counter.'"><u><b>'.$counter.'</b></u></a> ';
}else{
echo ' <a href="?page='.$counter.'">'.$counter.'</a> ';
}
}
$nextpage = $_GET['page'] + 1;
if($_GET['page'] <= floor($page3)){
echo ' <a href="?page='.$nextpage.'"> >> </a> ';
}
echo '</center>';
echo '<br><br>berekening limit: '.$page.' x '.$limitpage.' = '.$limit.'<br>';
echo 'berekening limit2: '.$limit.' + '.$limitpage.' = '.$limit2.'<br>';
echo $sql;
?>
$limitpage = 2;
$sql2 = "SELECT * FROM logboek";
$query2 = mysql_query($sql2) or die (mysql_error ());
$num_rows = mysql_num_rows($query2);
if(!isset($_GET['page'])){
$page = 0;
$_GET['page'] = 0;
}else{
$page = $_GET['page'];
}
$limit = $page * $limitpage;
$limit2 = $limit + $limitpage;
$sql = "SELECT * FROM logboek ORDER BY id DESC LIMIT $limit, $limit2";
$query = mysql_query($sql) or die (mysql_error ());
if(mysql_num_rows($query) == 0){
echo 'Geen log bestanden in het logboek.<br>';
}else{
echo '<table width="100%">
<tr><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">Datum</td><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">Omschrijving</td><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">IP</td></tr>';
while($row = mysql_fetch_assoc($query)){
echo '<tr><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">'.$row['datum'].'</td><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">'.$row['omschrijving'].'</td><td style=" border-width: 0px 0px 1px 0px; border-style: none none dashed none;">'.$row['ip'].'</td></tr>';
}
echo '</table>';
}
echo '<center>';
$backpage = $_GET['page'] - 1;
if(!$_GET['page'] <= 0){
echo ' <a href="?page='.$backpage.'"><<</a> ';
}
$page2 = $num_rows / $limitpage;
$page2 = $page2 - 1;
$page3 = $num_rows / $limitpage - 2;
for ( $counter = 0; $counter <= floor($page2); $counter += 1) {
if($_GET['page'] == $counter){
echo ' <a href="?page='.$counter.'"><u><b>'.$counter.'</b></u></a> ';
}else{
echo ' <a href="?page='.$counter.'">'.$counter.'</a> ';
}
}
$nextpage = $_GET['page'] + 1;
if($_GET['page'] <= floor($page3)){
echo ' <a href="?page='.$nextpage.'"> >> </a> ';
}
echo '</center>';
echo '<br><br>berekening limit: '.$page.' x '.$limitpage.' = '.$limit.'<br>';
echo 'berekening limit2: '.$limit.' + '.$limitpage.' = '.$limit2.'<br>';
echo $sql;
?>
dit te gebruiken
Ook klopt
volgens mij niet helemaal. Daardoor gaat ie op elke pagina steeds meer weergeven omdat hij het pagina nummer + de hoeveelheid per pagina gaat weergeven.
Sidenote: Ben zelf ook een beginner met PHP dus wat ik hier zeg kan compleet verkeerd zijn..if so: excuses daarvoor!
Edit:
Zie dat je $limit2 nog verderop in je script gebruikt, dus zonder dat om te gooien is het 't makkelijkst denk ik om je $sql te veranderen in
$limitpage is dan uiteindelijk de hoeveelheid die je op 1 pagina wilt laten weergeven natuurlijk.
Gewijzigd op 01/01/1970 01:00:00 door Jasper Geelen
als ik naar pagina 1 ga dan leest hij er 4 uit, en de SQL =
SELECT * FROM logboek ORDER BY id DESC LIMIT 2, 4
Dat is toch raar? xD :P
Dankje santhe, maar ik wil graag mijn script werkend krijgen :)
heb je ergens live voorbeeld?
De sql moet zo:
$sql = "SELECT * FROM logboek ORDER BY id DESC LIMIT $limit, $limitpage";
Greets Mitch :D
Gewijzigd op 01/01/1970 01:00:00 door Mitch
Snap je zelf het principe van die limit?
Je ziet dat, wanneer de achterste cijfer wordt opgehoogd, die hoeveelheid berichten ook worden weergeven.
LIMIT <nummer1>, <nummer2>
Met andere woorden.
Je hebt een limit van 2 items per overzicht (voorbeeld).
Wat je wilt hebben is dat hij op pagina 3 enkel laat zien, de 2 items
Dus je moet de pagina * de limit doen.
Dan heb je het startpunt <nummer1>.
nummer2 is zeg maar de hoeveelheid wanneer hij weer moet stoppen.
Dus als jij zegt 4,6 zal hij starten bij 4 en 6 items laten zien.
Ps. Stel ik heb het verkeerd uitgelegd, corrigeer me dan aub :-) ben ook maar een mens ^^
gaat helemaal goed zo alleen had ik het zelf geloof ik anders gedaan.
Vertel:)