Database paging
Hallo,
Ik heb gisteravond een hele tijd gezocht naar paging tutorials en scripts. Er was er 1 bij die erg overzichtelijk was. Het probleem is echter dat het niet helemaal werkt zoals het zou moeten. Wanneer de pagina wordt aangeroepen verschijnt er mooi "Volgende 5" boven de tabel, maar wanneer er op geklikt wordt herlaadt de pagina alsof er niets gebeurd is.
Hier is de code:
<table width="400">
</table>
Volgens mij zit er ergens in het laatste stuk een fout. Ziet iemand hier wat er fout is?
Ik heb gisteravond een hele tijd gezocht naar paging tutorials en scripts. Er was er 1 bij die erg overzichtelijk was. Het probleem is echter dat het niet helemaal werkt zoals het zou moeten. Wanneer de pagina wordt aangeroepen verschijnt er mooi "Volgende 5" boven de tabel, maar wanneer er op geklikt wordt herlaadt de pagina alsof er niets gebeurd is.
Hier is de code:
<table width="400">
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
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
<?
mysql_connect("localhost","","");
mysql_select_db("database");
$sql = "SELECT * FROM tabelORDER BY id DESC";
$totaal = mysql_num_rows(mysql_query($sql));
// We willen 5 resultaten per keer zien.
$max = "5";
//we beginnen bij 0
if (empty($start)) $start = 0;
$sql = "SELECT * FROM portfolio ORDER BY id ASC LIMIT $start,$max";
$result = mysql_query($sql);
//$i telt de records
$i = $start;
WHILE ($data = mysql_fetch_array($result))
{
//berichten weergeven
echo "<tr><td valign='top' class='streepje'><b>".$data[naam]."</b><br>".$data[omschrijving]."</td>";
echo "<td class='streepje'><a href='http://".$data[urrel]."' target='_blank'><IMG src='portfolio/".$data[thumb]."' width=100 border=1></a><br> </td>";
echo "</tr>";
$i++;
}
// bepalen of we een volgende of vorige moeten afdruken
// bij eerste 5 resultaten, vorige knop niet nodig
IF ($max >= $i)
{
echo '';
}
//anders wel...
ELSEIF ($max <= $i)
{
$back = $start-$max;
echo '<A HREF="'.$PHP_SELF.'?start='.$back.'">Vorige '.$max.'</A> ';
}
IF ($totaal >= $i)
{
echo '<A HREF="'.$PHP_SELF.'?start='.$i.'">Volgende '.$max.'</A>';
}
?>
mysql_connect("localhost","","");
mysql_select_db("database");
$sql = "SELECT * FROM tabelORDER BY id DESC";
$totaal = mysql_num_rows(mysql_query($sql));
// We willen 5 resultaten per keer zien.
$max = "5";
//we beginnen bij 0
if (empty($start)) $start = 0;
$sql = "SELECT * FROM portfolio ORDER BY id ASC LIMIT $start,$max";
$result = mysql_query($sql);
//$i telt de records
$i = $start;
WHILE ($data = mysql_fetch_array($result))
{
//berichten weergeven
echo "<tr><td valign='top' class='streepje'><b>".$data[naam]."</b><br>".$data[omschrijving]."</td>";
echo "<td class='streepje'><a href='http://".$data[urrel]."' target='_blank'><IMG src='portfolio/".$data[thumb]."' width=100 border=1></a><br> </td>";
echo "</tr>";
$i++;
}
// bepalen of we een volgende of vorige moeten afdruken
// bij eerste 5 resultaten, vorige knop niet nodig
IF ($max >= $i)
{
echo '';
}
//anders wel...
ELSEIF ($max <= $i)
{
$back = $start-$max;
echo '<A HREF="'.$PHP_SELF.'?start='.$back.'">Vorige '.$max.'</A> ';
}
IF ($totaal >= $i)
{
echo '<A HREF="'.$PHP_SELF.'?start='.$i.'">Volgende '.$max.'</A>';
}
?>
</table>
Volgens mij zit er ergens in het laatste stuk een fout. Ziet iemand hier wat er fout is?