pagination laat niet de juiste aantal pagina's zien
nu is het probleem:
Ik heb in mijn script meegegeven dat ik 2 records per pagina wil hebben en dat lukt wel. maar ik krijg extra lege pagina's die met niks gevuld zijn. Weet iemand van jullie wat ik fout heb gedaan in de onderstaande script?
denk zelf dat het in de pagination class zit, maar krijg het niet opgelost.
hieronder kan je de scripts zien.
class: all_training_categorie.php
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
public function select_count_trainingen() {
$all_categorie = 'SELECT COUNT(*)
FROM training train
JOIN training_categorie train_cat ON train_cat.training_id = train.id
JOIN categorie cat ON cat.id = train_cat.categorie_id
JOIN training_type trainingtype ON trainingtype.training_id = train.id
JOIN type_training typetrain ON typetrain.id = trainingtype.type_id
ORDER BY train.naam_training
';
return $resultaat_all_categorie=mysql_query($all_categorie);
}
public function select_trainingen($start=2, $end=2) {
$all_categorie = 'SELECT DISTINCT train.id AS id, train.naam_training AS Training, train.beschrijving AS Beschrijving, cat.naam_categorie AS Categorie, typetrain.type_naam AS Type, typetrain.type_plaatje AS Plaatjes
FROM training train
JOIN training_categorie train_cat ON train_cat.training_id = train.id
JOIN categorie cat ON cat.id = train_cat.categorie_id
JOIN training_type trainingtype ON trainingtype.training_id = train.id
JOIN type_training typetrain ON typetrain.id = trainingtype.type_id
ORDER BY train.naam_training ASC LIMIT '. $start. ','. $end .'
';
return $resultaat_all_categorie=mysql_query($all_categorie);
}
$all_categorie = 'SELECT COUNT(*)
FROM training train
JOIN training_categorie train_cat ON train_cat.training_id = train.id
JOIN categorie cat ON cat.id = train_cat.categorie_id
JOIN training_type trainingtype ON trainingtype.training_id = train.id
JOIN type_training typetrain ON typetrain.id = trainingtype.type_id
ORDER BY train.naam_training
';
return $resultaat_all_categorie=mysql_query($all_categorie);
}
public function select_trainingen($start=2, $end=2) {
$all_categorie = 'SELECT DISTINCT train.id AS id, train.naam_training AS Training, train.beschrijving AS Beschrijving, cat.naam_categorie AS Categorie, typetrain.type_naam AS Type, typetrain.type_plaatje AS Plaatjes
FROM training train
JOIN training_categorie train_cat ON train_cat.training_id = train.id
JOIN categorie cat ON cat.id = train_cat.categorie_id
JOIN training_type trainingtype ON trainingtype.training_id = train.id
JOIN type_training typetrain ON typetrain.id = trainingtype.type_id
ORDER BY train.naam_training ASC LIMIT '. $start. ','. $end .'
';
return $resultaat_all_categorie=mysql_query($all_categorie);
}
class: pagination.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
overzicht-training_soort_all.php(pagina die de trainingen laat zien)
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
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<title>Overzicht alle trainingen - soort trainingen</title>
</head>
<body>
<?php
include_once "structuur/header.html";
?>
<div id="container">
<div id="left-container">
<?php
include_once "structuur/sidebar_soort_training_menu.html";
?>
</div>
<div id="right-container2">
<h6>Alle trainingen op alfabetische volgorde</h6>
<?php
require_once 'class/all_training_categorie.php';
require_once 'class/pagination.php';
$display = (!empty($_GET['display']) ? abs($_GET['display']) : 0);
$soort_training = new trainingen();
$nummer_training = $soort_training->select_count_trainingen();
$alle_training_soort = $soort_training->select_trainingen($display,2);
$count_training = 0;
while($a=mysql_fetch_assoc($alle_training_soort))
{
$count_training++;
echo "<div id='container'><td>";
echo "<div id='left3'>";
echo '<td><b>' . $a['Training'] . '</b></td><br>';
$plaatje = $a['Plaatjes'];
echo '<td>' . nl2br(htmlspecialchars($a['Beschrijving'])) . '</td><br>';
echo '<br>';
echo '<td>Categorie: <b>' . $a['Categorie'] . '</b></td><br>';
echo "</div>";
echo "<div id='right5'>";
echo "<div class='overzicht-plaatje'> <img src='$plaatje'/> </div> <br>" ;
{
echo "</div>";
echo"</tr></div>";
}
}
if ($nummer_training <= 2) {
echo "";
} else {
echo gen_list($nummer_training);
}
?>
</div>
</div>
</div>
</body>
<?php
include_once "structuur/footer.html";
?>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<title>Overzicht alle trainingen - soort trainingen</title>
</head>
<body>
<?php
include_once "structuur/header.html";
?>
<div id="container">
<div id="left-container">
<?php
include_once "structuur/sidebar_soort_training_menu.html";
?>
</div>
<div id="right-container2">
<h6>Alle trainingen op alfabetische volgorde</h6>
<?php
require_once 'class/all_training_categorie.php';
require_once 'class/pagination.php';
$display = (!empty($_GET['display']) ? abs($_GET['display']) : 0);
$soort_training = new trainingen();
$nummer_training = $soort_training->select_count_trainingen();
$alle_training_soort = $soort_training->select_trainingen($display,2);
$count_training = 0;
while($a=mysql_fetch_assoc($alle_training_soort))
{
$count_training++;
echo "<div id='container'><td>";
echo "<div id='left3'>";
echo '<td><b>' . $a['Training'] . '</b></td><br>';
$plaatje = $a['Plaatjes'];
echo '<td>' . nl2br(htmlspecialchars($a['Beschrijving'])) . '</td><br>';
echo '<br>';
echo '<td>Categorie: <b>' . $a['Categorie'] . '</b></td><br>';
echo "</div>";
echo "<div id='right5'>";
echo "<div class='overzicht-plaatje'> <img src='$plaatje'/> </div> <br>" ;
{
echo "</div>";
echo"</tr></div>";
}
}
if ($nummer_training <= 2) {
echo "";
} else {
echo gen_list($nummer_training);
}
?>
</div>
</div>
</div>
</body>
<?php
include_once "structuur/footer.html";
?>
</html>
Gewijzigd op 08/06/2014 13:23:06 door George mendel
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
public function select_count_trainingen() {
$all_categorie = '...'; //query, even weggehaald
return $resultaat_all_categorie=mysql_query($all_categorie);
}
$nummer_training = $soort_training->select_count_trainingen();
?>
public function select_count_trainingen() {
$all_categorie = '...'; //query, even weggehaald
return $resultaat_all_categorie=mysql_query($all_categorie);
}
$nummer_training = $soort_training->select_count_trainingen();
?>
Dus, je voert een query uit, geeft het result terug (waarom dat overigens in een variabele stoppen die toch niet bestaat?) en dat result gebruik je alsof het een integer is. Dat is het niet, het is een resource! Je moet eerst nog een rij fetchen voor je die kan gebruiken!
Erwin H op 08/06/2014 14:22:11:
Dus, je voert een query uit, geeft het result terug (waarom dat overigens in een variabele stoppen die toch niet bestaat?) en dat result gebruik je alsof het een integer is. Dat is het niet, het is een resource! Je moet eerst nog een rij fetchen voor je die kan gebruiken!
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
public function select_count_trainingen() {
$all_categorie = '...'; //query, even weggehaald
return $resultaat_all_categorie=mysql_query($all_categorie);
}
$nummer_training = $soort_training->select_count_trainingen();
?>
public function select_count_trainingen() {
$all_categorie = '...'; //query, even weggehaald
return $resultaat_all_categorie=mysql_query($all_categorie);
}
$nummer_training = $soort_training->select_count_trainingen();
?>
Dus, je voert een query uit, geeft het result terug (waarom dat overigens in een variabele stoppen die toch niet bestaat?) en dat result gebruik je alsof het een integer is. Dat is het niet, het is een resource! Je moet eerst nog een rij fetchen voor je die kan gebruiken!
Bij voorkeur voordat je de functie gen_list aanroept. Over het algemeen wil je niet een functie daarvan afhankelijk laten zijn. Die functie moet gewoon een getal krijgen en zijn ding doen en moet zich niet bezighouden met waar dat getal vandaan komt.