data voorzien van doorlopende nummers per pagina
Wil op pagina 1 de data voorzien van 1 t/m 6
en dan pagina 2 - 7 tot en met 13 enz.
Ben nu een tijdje bezig geweest, maar lukt mij
helaas niet.
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
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
echo '<h3>Overzicht van leden</h3>'.PHP_EOL;
// eerste bezoek moet 0 zijn.
$pag = (isset($_GET['pag'])) ? $_GET['pag'] : '' ;
// eerste bezoek moet 0 zijn.
if($pag == '' || $pag == 1){
$pag = 0;
}
// het aantal resultaten per pagina.
$showRecords= 6;
$Recordsnr=0;
//$y=0;
$sql = 'SELECT * FROM leden ORDER BY achternaam ASC';
$results = mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($results) >= 1 ) {
$num_rows = mysql_num_rows($results);
$pages = $num_rows / $showRecords;
if($pages>1){
if($pag == 0 ) {
$vorige_page_limit = 0 ;
}else {
$limit = floor($pag) * $showRecords ;
$vorige_page_limit = $limit-$showRecords ;
}
$query2 = 'SELECT * FROM leden ORDER BY achternaam ASC LIMIT '.$vorige_page_limit.', '.$showRecords.' ';
$results2 = mysql_query($query2) or die(mysql_error());
}
//output:
// checkt of er uberhaubt wel meerdere pagina's zijn.
if($pages > 1){
for($i=1; $i<=ceil($pages); $i++){
echo ' | <a href='.$_SERVER['PHP_SELF'].'?pag='.$i.'>'.$i.'</a>';
}
echo ' |<br/><br/>';
}
$y=0;
echo "<table border=\"0\">\n";
while ($data = mysql_fetch_array($results2))
{
$rid=($data['id']);
$voornaam = stripslashes( $data['voornaam']);
$achternaam = stripslashes( $data['achternaam']);
$email = stripslashes( $data['email']);
$rechten = stripslashes( $data['rechten']);
$adres = stripslashes($data['adres']);
$huisnr = stripslashes($data['huisnr']);
$postcode = stripslashes($data['postcode']);
$plaats = stripslashes($data['plaats']);
$telnr = stripslashes($data['telnr']);
$y++;
echo '<tr>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $y.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $achternaam.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $voornaam.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $email.''.PHP_EOL;
echo '</td>'.PHP_EOL;
//echo '<td class="formleft">'.PHP_EOL;
//echo $rechten.''.PHP_EOL;
//echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $adres.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $huisnr.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $postcode.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $plaats.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $telnr.''.PHP_EOL;
echo '</td>'.PHP_EOL;
//echo '<td class="formdata">'.PHP_EOL;
//echo '<a href="'.reg.'?p=detail&id='.$data['id'].'" title="Bekijk de details van '.$data['naam'].' '.$data['email'].'" class="formleft">'.$data['naam'].' '.$data['email'].'</a>';
//echo '</td>'.PHP_EOL;
//echo $SESSION['userid'];
if (isset ($_SESSION['dvdadmin'])){
if ( isset($_SESSION['userid']) && $_SESSION['dvdadmin']) {
echo '<td>'.PHP_EOL;
echo '<a href="'.leden.'?p=editregform&rid='.$data['id'].'"><img border="0" alt="Bewerk de gegevens van '.$achternaam.'" title="Bewerk de gegevens van '.$achternaam.' " src="'.coreimg.'user_edit.png" /></a>';
echo '</td>'.PHP_EOL;
}
}else {
// doe niets
}
echo '</tr>'.PHP_EOL;
}
echo '</table>'.PHP_EOL;
echo '<hr>';
} else {
echo 'Hier zijn geen gegevens gevonden.'.PHP_EOL;
echo '<hr>';
}
}
[/CODE]
// eerste bezoek moet 0 zijn.
$pag = (isset($_GET['pag'])) ? $_GET['pag'] : '' ;
// eerste bezoek moet 0 zijn.
if($pag == '' || $pag == 1){
$pag = 0;
}
// het aantal resultaten per pagina.
$showRecords= 6;
$Recordsnr=0;
//$y=0;
$sql = 'SELECT * FROM leden ORDER BY achternaam ASC';
$results = mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($results) >= 1 ) {
$num_rows = mysql_num_rows($results);
$pages = $num_rows / $showRecords;
if($pages>1){
if($pag == 0 ) {
$vorige_page_limit = 0 ;
}else {
$limit = floor($pag) * $showRecords ;
$vorige_page_limit = $limit-$showRecords ;
}
$query2 = 'SELECT * FROM leden ORDER BY achternaam ASC LIMIT '.$vorige_page_limit.', '.$showRecords.' ';
$results2 = mysql_query($query2) or die(mysql_error());
}
//output:
// checkt of er uberhaubt wel meerdere pagina's zijn.
if($pages > 1){
for($i=1; $i<=ceil($pages); $i++){
echo ' | <a href='.$_SERVER['PHP_SELF'].'?pag='.$i.'>'.$i.'</a>';
}
echo ' |<br/><br/>';
}
$y=0;
echo "<table border=\"0\">\n";
while ($data = mysql_fetch_array($results2))
{
$rid=($data['id']);
$voornaam = stripslashes( $data['voornaam']);
$achternaam = stripslashes( $data['achternaam']);
$email = stripslashes( $data['email']);
$rechten = stripslashes( $data['rechten']);
$adres = stripslashes($data['adres']);
$huisnr = stripslashes($data['huisnr']);
$postcode = stripslashes($data['postcode']);
$plaats = stripslashes($data['plaats']);
$telnr = stripslashes($data['telnr']);
$y++;
echo '<tr>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $y.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $achternaam.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $voornaam.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $email.''.PHP_EOL;
echo '</td>'.PHP_EOL;
//echo '<td class="formleft">'.PHP_EOL;
//echo $rechten.''.PHP_EOL;
//echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $adres.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $huisnr.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $postcode.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $plaats.''.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $telnr.''.PHP_EOL;
echo '</td>'.PHP_EOL;
//echo '<td class="formdata">'.PHP_EOL;
//echo '<a href="'.reg.'?p=detail&id='.$data['id'].'" title="Bekijk de details van '.$data['naam'].' '.$data['email'].'" class="formleft">'.$data['naam'].' '.$data['email'].'</a>';
//echo '</td>'.PHP_EOL;
//echo $SESSION['userid'];
if (isset ($_SESSION['dvdadmin'])){
if ( isset($_SESSION['userid']) && $_SESSION['dvdadmin']) {
echo '<td>'.PHP_EOL;
echo '<a href="'.leden.'?p=editregform&rid='.$data['id'].'"><img border="0" alt="Bewerk de gegevens van '.$achternaam.'" title="Bewerk de gegevens van '.$achternaam.' " src="'.coreimg.'user_edit.png" /></a>';
echo '</td>'.PHP_EOL;
}
}else {
// doe niets
}
echo '</tr>'.PHP_EOL;
}
echo '</table>'.PHP_EOL;
echo '<hr>';
} else {
echo 'Hier zijn geen gegevens gevonden.'.PHP_EOL;
echo '<hr>';
}
}
[/CODE]
Je bedoelt pagination? schrijf eerst eens je code in een paar functies want anders ga je er nooit uitkomen.
Je zegt dat je al geprobeerd hebt, wat heb je precies geprobeerd? Heb je wel een basiskennis van PHP? Heb je al eens op Google gekeken? Heb je al iets uitgevoerd, zoja, wat voor fout kreeg je dan?
Gewijzigd op 26/10/2012 00:31:28 door - Raoul -
"paginanummering". Je zult verschillende kant-en-klare scripts vinden.
Daar is al veel over geschreven. Zoek eens op PHPhulp.nl op Gewijzigd op 26/10/2012 00:34:08 door Ivo Breeden
Bouw goede foutafhandeling in -> geen or die.
Waarom bij de echo op regel 36 " gebruiken? Nu moet je escapen bij html. Bij (bijna) alle echo's gebruik je (wel) '
Waarom regel 39 t/m 48? -> zinloos aanmaken (/kopiëren) van variabelen.
$_SERVER['PHP_SELF'] zou onveilig zijn.
Benoem het veld/de velden in je query ipv *. Geeft meer inzicht in wat je ophaalt en bij joins voorkomt het fouten/problemen.
1e antwoord = copy & paste van af een voorbeeld code
2e antwoord = tikfoutje
3e antwoord = overbodig inderdaad,
4e antwoord = bekend, moet dat aanpassen, maar eerst aan de praat krijgen
5e antwoord = is mij bekend, doch gaat nu ff sneller, in het orgineel wordt dat aangepast.
Gelet op mijn leeftijd nooit te oud om te leren.
Heb het spul wel aan de praat gekregen, ik zie pagina 1|2|3|
op pagina 1 zie ik mijn data genummerd
1. naam, enz
2. naam, enz.
tot en met 6
maar bij klik op pagina 2 staat er dan dezelfde nummers terwijl dit dan moet doorlopen
op pagina 2 staat dan het zelfde 1 t/m 6 maar moet dan 7 t/m 12, enz