pagenation LIMIT FOUT
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(LIMIT0,10)' at line 1
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in on line 102
ik weet alleen niet wat ik nu precies moet veranderen . ik heb het script gemaakt met behulp van een tutorial.
ik hoop dat iemand mij kan helpen
alvast bedankt
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
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
<?php
ini_set('display_errors', 'On');
error_reporting (E_ALL);
$sql = mysql_query("SELECT id, groep, product, prijs, prijsper, bedrijfsnaam, email FROM aanbod ORDER BY id DESC");
$productid = ($sql['id']);
$nr = mysql_num_rows($sql);
if (isset($_GET['pn'])){
$pn = preg_replace('#[^0-9]#i','', $_GET['pn']);
}
else{
$pn = 1;
}
$itemsPerPage = 10;
$lastPage = ceil($nr /$itemsPerPage);
if($pn< 1) {
$pn = 1;
}
else if($pn> $lastPage){
$pn =$lastPage;
}
$centerPages = "";
$sub1 = $pn -1;
$sub2 = $pn -2;
$add1 = $pn +1;
$add2 = $pn +2;
if($pn ==1){
$centerPages.=' <span class="pagNumActive">'.$pn.'</span> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$add1.'">'.$add1.'</a> ';
} else if ($pn == $lastPage){
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$sub1.'">'.$sub1.'</a> ';
$centerPages.=' <span class="pagNumActive">'.$pn.'</span>$nbsp;';
} else if($pn>2 && $pn<($lastPage -1)){
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$sub2.'">'.$sub2.'</a> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$sub1.'">'.$sub1.'</a> ';
$centerPages.=' <span class="pagNumActive">'.$pn.'</span> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$add1.'">'.$add1.'</a> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$add2.'">'.$add2.'</a> ';
} else if($pn> 1 && $pn <$lastPage){
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$sub1.'">'.$sub1.'</a> ';
$centerPages.=' <span class="pagNumActive">'.$pn.'</span> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='. $add1.'">'.$add1.'</a> ';
}
$limit = 'LIMIT'.($pn -1)*$itemsPerPage.','.$itemsPerPage;
$sql2 = mysql_query("SELECT id, groep, product, prijs, prijsper, bedrijfsnaam, email FROM aanbod ORDER BY id DESC (".$limit.")");
$paginationDisplay = "";
if($lastPage !="1"){
$paginationDisplay.= 'Page<strong>'.$pn.'</strong> of'.$lastPage.'';
if ($pn !=1){
$previous = $pn-1;
$paginationDisplay.= ' <a href="' .$SERVER['PHP_SELF'].'?pn='.$previous.'">Terug</a>';
}
$paginationDisplay.='<span class="paginationNumbers">'.$centerPages.'</span>';
if ($pn !=$lastPage){
$nextPage = $pn +1;
$paginationDisplay.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$nextPage.'"> Volgende</a>';
}
}
if($sql2=== false){
echo mysql_error();
}
while($rij = mysql_fetch_array($sql2)) {
en dan de resultaten
?>
ini_set('display_errors', 'On');
error_reporting (E_ALL);
$sql = mysql_query("SELECT id, groep, product, prijs, prijsper, bedrijfsnaam, email FROM aanbod ORDER BY id DESC");
$productid = ($sql['id']);
$nr = mysql_num_rows($sql);
if (isset($_GET['pn'])){
$pn = preg_replace('#[^0-9]#i','', $_GET['pn']);
}
else{
$pn = 1;
}
$itemsPerPage = 10;
$lastPage = ceil($nr /$itemsPerPage);
if($pn< 1) {
$pn = 1;
}
else if($pn> $lastPage){
$pn =$lastPage;
}
$centerPages = "";
$sub1 = $pn -1;
$sub2 = $pn -2;
$add1 = $pn +1;
$add2 = $pn +2;
if($pn ==1){
$centerPages.=' <span class="pagNumActive">'.$pn.'</span> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$add1.'">'.$add1.'</a> ';
} else if ($pn == $lastPage){
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$sub1.'">'.$sub1.'</a> ';
$centerPages.=' <span class="pagNumActive">'.$pn.'</span>$nbsp;';
} else if($pn>2 && $pn<($lastPage -1)){
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$sub2.'">'.$sub2.'</a> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$sub1.'">'.$sub1.'</a> ';
$centerPages.=' <span class="pagNumActive">'.$pn.'</span> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$add1.'">'.$add1.'</a> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$add2.'">'.$add2.'</a> ';
} else if($pn> 1 && $pn <$lastPage){
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$sub1.'">'.$sub1.'</a> ';
$centerPages.=' <span class="pagNumActive">'.$pn.'</span> ';
$centerPages.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='. $add1.'">'.$add1.'</a> ';
}
$limit = 'LIMIT'.($pn -1)*$itemsPerPage.','.$itemsPerPage;
$sql2 = mysql_query("SELECT id, groep, product, prijs, prijsper, bedrijfsnaam, email FROM aanbod ORDER BY id DESC (".$limit.")");
$paginationDisplay = "";
if($lastPage !="1"){
$paginationDisplay.= 'Page<strong>'.$pn.'</strong> of'.$lastPage.'';
if ($pn !=1){
$previous = $pn-1;
$paginationDisplay.= ' <a href="' .$SERVER['PHP_SELF'].'?pn='.$previous.'">Terug</a>';
}
$paginationDisplay.='<span class="paginationNumbers">'.$centerPages.'</span>';
if ($pn !=$lastPage){
$nextPage = $pn +1;
$paginationDisplay.=' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$nextPage.'"> Volgende</a>';
}
}
if($sql2=== false){
echo mysql_error();
}
while($rij = mysql_fetch_array($sql2)) {
en dan de resultaten
?>
Gewijzigd op 02/10/2012 19:54:55 door Stefan H
Maar:
Waarom een hele query ophalen om alleen het aantal resultaten te bepalen???
Gebruik gewoon SELECT COUNT(*)
maar de spatie werkt niet
heb je nog een tip/idee?
Moet werken (de spatie moet dus in de string zelf).
Als je dat uit een tutorial hebt is de tutorial bagger, het is je reinste onzin om alle records uit een tabel te halen om het aantal te bepalen.
Gewijzigd op 02/10/2012 20:20:15 door Ger van Steenderen
moet zijn:
$sql2 = mysql_query("SELECT id, groep, product, prijs, prijsper, bedrijfsnaam, email FROM aanbod ORDER BY id DESC ".$limit);
geloof ik.
Gewijzigd op 02/10/2012 20:22:26 door Bo Ter Ham
misschien dat het inderdaad een foutje in de tutorial is maar de rest is heel duidelijk uitgelegd waardoor ik wel veel van de tutorial geleerd heb
Toevoeging op 02/10/2012 20:23:46:
ook Bo heeft trouwens gelijk dit moest ook aangepast worden
Het is natuurlijk wel een beetje kortzichtig van mij om daar de gehele tutorial op af te kraken, maar op die manier haal je een hele hoop data waar je niets mee doet, dat is onnodig geheugen gebruik