PHPhulp
 
 
Header image
Username: Password:   registreren | wachtwoord kwijt
 


PHP scripts

Pagination Script

Niveau: Beginner
PHP versie: 4
Categorie: Beginners


Door Yearupie op 30.01.2010

Print versie PHP script

Toelichting:
Hallo,

Omdat ik ergens op het forum een topic heb gezien over iemand die een pagination script nodig had, heb ik dit gemaakt.

Dit is simpel te gebruiken. Het enige wat je moet doen is de settings.php pagina aanpassen naar eigen wensen.

Hopelijk hebben jullie hier wat aan,
positieve feedback is welkom.

Code:
Settings.php :

 Selecteer deze code
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
<?php
/* Database instellingen */

# Hostnaam, meestal localhost
$hostname "";

# Gebruikersnaam
$username "";

# Wachtwoord
$password "";

# Database
$database "";

# Database connectie maken
mysql_connect($hostname,$username,$password) or die(mysql_error());

# Database selecteren
mysql_select_db($database);

/* Einde database instellingen */


/* Script Instellingen */

# Maximaal aantal per pagina
$eachPage 10;
 
# Sql met limit
$sql 'SELECT username FROM users limit '.($page*$eachPage).','.$eachPage;

# Sql zonder limit
$sql_count 'SELECT username FROM users';

/* Einde script instellingen */
?>


.php pagina waar je script wil hebben:
 Selecteer deze code
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
<?php
error_reporting
(E_ALL);

# Kijken of er al een get bestaat
if(isset($_GET['page']) AND ctype_digit($_GET['page'])) {

    
# Set page limit begin
    
$page $_GET['page'];    
}
else{

    
# Set page limit begin als 0
    
$page 0;    
}

# Include de instellingen
include('settings.php');

# Query uitvoeren
if(!$res mysql_query($sql)) {
     
    
# Fout in query
  
trigger_error(mysql_error().'<br />In query: '.$sql); 

elseif(
mysql_num_rows($res) == 0) { 
    
    
# Geen resultaat uit query
  
echo 'Geen resultaten gevonden'

else { 
    
    
# Iedere record uitvoeren
  
while($row mysql_fetch_assoc($res)) { 
      
      
# Echo de username van iedere gebruiker
    
echo $row['username'].'<br />'
  }
  
  if(
$res mysql_query($sql_count)) {
      
      
# Aantal resultaten
      
$results mysql_num_rows($res);
    }
  
# Aantal pagina's
  
$pages ceil($results $eachPage);
  
  
# Vorige knop maken
  
if($page 0) {
      
      echo 
'<a href="'.$_SERVER['PHP_SELF'].'?page='.($page-1).'">[Vorige]</a>';
  }
  else{
      
      echo 
'[Vorige]';
  }
  
  
# Pagina's maken
  
for($i 1$i <= $pages$i++)    {
      
        
# Pagina cijfer linkjes aanmaken 
      
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($i-1).'">'.$i.'</a>';
    } 
    
    
# Volgende knop maken
  
if(($page+1) <= ($results/$eachPage)) {
      
      echo 
'<a href="'.$_SERVER['PHP_SELF'].'?page='.($page+1).'">[Volgende]</a>';
  }
  else{
      
      echo 
'[Volgende]';
  }
}
?>


Meer PHP scripts in deze categorie Meer PHP scripts in deze categorie

Reacties

Voeg ook een reactie toe.

SanThe schreef op 30.01.2010 20:02
Even een opmerking.
Maak van dit
 Selecteer deze code
1
2
3
4
<?php
# Sql met limit, deze moet je zelf aanpassen, let er wel op dat de limit erin blijft staan!
$sql 'SELECT username FROM users limit '.($page*10).','.$eachPage;
?>


Even dit, dan hoef je het niet meer aan te passen.
 Selecteer deze code
1
2
3
4
<?php
# Sql met limit
$sql 'SELECT username FROM users limit '.($page*$eachPage).','.$eachPage;
?>

Yearupie schreef op 30.01.2010 20:11
oh.. foutje eruit gehaald.

Pim schreef op 30.01.2010 21:46
Dit kan je toch met wat kleine wijzigingen in een class stoppen, zodat hij een stuk makkelijker in een site te integreren is?
 Selecteer deze code
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

class Paginator
{
    private 
$_db$_sql$_itemsPerPage$_pageNumber;

    public function 
__construct($db$sql$itemsPerPage 10);
    public function 
setPageNumber($nr);
    public function 
getPage();
    public function 
showControls();
}

?>


In getPage() kan je de limit achter de sql plakken.
EDIT: Ook kan je in de sql 2x %d zetten die je dan met sprintf vervangt met de goede waarden.

Gewijzigd op 30.01.2010 22:33 door Pim

yorick17 schreef op 31.01.2010 00:12
ik geloof dat ikzelf een script gebruik dat makelijker te integreren is, ik zal het een keer posten hierzo.

Marcel K schreef op 31.01.2010 22:11
ooit hier eens geplaatst:

http://www.phphulp.nl/php/scripts/4/631/

Voeg een reactie toe

Alleen leden mogen reacties toevoegen. Dit i.v.m. het vele spam die we de laatste tijd hebben gekregen. Je kunt je registreren op de registratie pagina. Ben je al lid? Dan kun je inloggen aan de bovenkant van de website.

Ga naar het overzicht met PHP scripts.

tracker Laatste PHP tutorials

10.02
30.01
22.01
19.01
30.12

tracker Laatste PHP scripts

04.02
31.01
30.01
30.01
30.01

tracker Laatste PHP boeken

03.11
04.10
04.05
11.03
03.08

tracker Laatste forum berichten

13:24
13:24
13:24
23:04
19:07
19:04
14:41
14:06
14:06
13:41
11:29
10:15

tracker Laatste reacties

13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)

PHP zoeken PHP zoeken

 Zoekterm

Zoeken in

tracker Voting poll

 Welke browser heeft jouw voorkeur?

Google Chrome
Mozilla Firefox
Internet Explorer
Apple Safari
Opera Software
Een andere browser


tracker Actieve leden

 
 Er zijn 41 gasten en 4 leden actief.
Actieve leden: peter-jan@blitz.nu, Arjen Halma, Marco, Wieland