[php] doorsturen na bewerken

Pagina: 1
Acties:

Onderwerpen


  • Tommetje
  • Registratie: Februari 2004
  • Laatst online: 19-11-2024
Oké, ik heb een gastenboekje in elkaar geknutseld, met daarbij een pagina-navigatie-systeempje. Dat ziet er ongeveer zo uit:
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!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Meesturen in de querystring geen optie?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Tommetje
  • Registratie: Februari 2004
  • Laatst online: 19-11-2024
Goed idee! En toch zo simpel ;). Zelf nog niet eens aan gedacht... Bedankt :)

Hoi!


Verwijderd

Let op neem voor de veiligheid wel de intval van records en van max

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je kan het ook berekenen. Daarvoor moet je alle records die eerder komen in de sortering van je recordset tellen (COUNT-query), en dan delen door het aantal berichten per pagina.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.