Oké, ik heb een gastenboekje in elkaar geknutseld, met daarbij een pagina-navigatie-systeempje. Dat ziet er ongeveer zo uit:
Er zit ook een functie in om berichten te bewerken, maar nu wil ik dat als je een bericht bewerkt, dat je dan automatisch naar de goede pagina wordt gestuurd. Dus met andere woorden, hoe kan ik berekenen (?) op welke pagina bijv. het bericht met id 34 staat?
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
| /* Het totaal aantal entries ophalen... */ $sql = 'SELECT COUNT(id) AS `totaal` FROM `gastenboek` WHERE `status` = 1'; $res = mysql_fetch_assoc ( mysql_query ( $sql ) ); $totaal = $res [ 'totaal' ]; /* Max. aantal per pagina */ $max = 15; /* Hoeveel pagina's zijn er in totaal? */ $totaal_paginas = ceil ( $totaal / $max ); /* Geldig pagina nummer opgegeven? Anders $pagina = 1 */ if ( isset ( $_aGET [ 0 ] ) && ! empty ( $_aGET [ 0 ] ) && eregi ( '^[0-9]{1,4}$', $_aGET [ 0 ] ) ) $pagina = $_aGET [ 0 ]; else $pagina = 1; /* Bestaat die pagina wel? Niet minder dan 0 of meer dan totaal? */ if ( $pagina < 1 || $pagina > $totaal_paginas ) $pagina = 1; /* Welke records moeten er uit de db komen? */ $records = ( $pagina * $max ) - $max; $navigatie = array (); for ( $i = 1; $i < ( $totaal_paginas ) + 1; $i++ ) { /* Als $i gelijk is aan de huidige pagina, -1, -2, -3, +1, +2, +3, dan nav. weer geven */ if ( $i == ( $pagina - 1 ) || $i == ( $pagina - 2 ) || $i == ( $pagina - 3 ) || $i == ( $pagina + 1 ) || $i == ( $pagina + 2 ) || $i == ( $pagina + 3 ) ) $navigatie [] = '<a href="' . $core [ 'url' ] . 'gastenboek/index/' . $i . '" title="Pagina ' . $i . '">' . $i . '</a>'; elseif ( $i == $pagina ) $navigatie [] = '<strong>' . $i . '</strong>'; } /* Als dit niet de eerste pagina is, dan gaan we even aan het begin van de array de vorige en eerste knop toevoegen */ if ( $pagina != 1 ) { array_unshift ( $navigatie, '<a href="' . $core [ 'url' ] . 'gastenboek/index/1" title="Eerste pagina"><<</a>', '<a href="' . $core [ 'url' ] . 'gastenboek/index/' . ( $pagina - 1 ) . '" title="Vorige pagina"><</a>' ); } /* Als dit niet de laatste pagina is, dan gaan we even aan het eind van de array de volgende en laatste knop toevoegen */ if ( $pagina != $totaal_paginas ) { $navigatie [] = '<a href="' . $core [ 'url' ] . 'gastenboek/index/' . ( $pagina + 1 ) . '" title="Volgende pagina">></a>'; $navigatie [] = '<a href="' . $core [ 'url' ] . 'gastenboek/index/' . $totaal_paginas . '" title="Laatste pagina">>></a>'; } $sql = 'SELECT `id`, `naam`, `email`, `bericht`, `tijd`, `oud`, `bewerkt` FROM `gastenboek` WHERE `status` = 1 ORDER BY `tijd` DESC LIMIT ' . $records .', ' . $max; |
Er zit ook een functie in om berichten te bewerken, maar nu wil ik dat als je een bericht bewerkt, dat je dan automatisch naar de goede pagina wordt gestuurd. Dus met andere woorden, hoe kan ik berekenen (?) op welke pagina bijv. het bericht met id 34 staat?
Hoi!