Pagniton - Tutorial

Was wir wollen sieht so aus:
1Zurück 1 ... 3 4 5 6 ... 8 Weiter


01<!--?php
02//Verbindung zur Datenbank
03$host = "localhost";     // meist localhost
04$user = "";             // Ihr MySQL Benutzername
05$pass = "";             // Ihr MySQL Passwort
06$dbase = "";             // Name der Datenbank
07$connection = mysql_connect("$host" , "$user" , "$pass")  OR die ("Keine Verbindung zu der Datenbank moeglich.");
08$db = mysql_select_db($dbase , $connection) OR die ("Auswahl der Datenbank nicht moeglich."); 
09 
10// Wieviele einträge pro seite
11$entries_per_site = 10;
12  
13// Wieviele seiten im Umschalter gezeigt
14$links_in_sitefunction = 4;
15  
16// Auf welcher seite sind wir
17if (isset($_GET['page'])) {
18    if (!is_numeric($_GET['page']) OR empty($_GET['page'])) {
19        $page = 1;
20    } else {
21        $page = $_GET['page'];
22    }
23} else {
24    $page = 1;
25}
26  
27//Wir lesen wieviele einträge in der db sind
28$sql_count_entries = 'SELECT testid FROM test';
29$query_count_entries = mysql_query($sql_count_entries);
30$count_entries = mysql_num_rows($query_count_entries); // Summe aller einträge
31$page = mysql_real_escape_string($page); // was über GET kommt müssen wir sicher vor missbrauch machen
32$pages_total = ceil($count_entries/$entries_per_site); // wieviele seiten wir brauchen - ceil rundet auf
33$page_start = floor($page - $links_in_sitefunction/2);
34$page_start = $page_start <= 0 ? 1 : $page_start;
35$page_end = ($page_start + $links_in_sitefunction-1);
36$page_end = $page_end -->= $pages_total ? $pages_total : $page_end;
37$page_max = $page*$entries_per_site;
38$max_minus_per_page = $page_max-$entries_per_site;
39$page_entry_start = $count_entries-$max_minus_per_page+1;
40  
41// Wir lesen unser result
42$result = mysql_query('SELECT * FROM test ORDER BY testid DESC LIMIT '.(($page-1)*$entries_per_site ).','.$entries_per_site.);
43  
44// Wir generieren die links
45if ($page > 1) {
46    $page_minus = $page-1;
47    $link_string .= ' <a href="test.php?page='.$page_minus.'">Zurück</a>';
48}
49  
50if ($page_start > 1) {
51    $link_string .= ' <a href="test.php?page=1">1</a> ...';
52}
53  
54for ($i = $page_start; $i <= $page_end ;$i++) {
55    if ($i == $page) {
56        $link_string .= '<b>'.$i.'</b>';
57    } else {
58        $link_string .= ' <a href="test.php?page='.$i.'">'.$i.'</a> ';
59    }
60}
61  
62if ($page_end < $pages_total) {
63    $link_string .= ' ... <a href="test.php?page='.$pages_total.'">'.$pages_total.'</a>';
64}
65  
66if ($page < $pages_total) {
67    $page_plus = $page+1; $link_string .= ' <a href="test.php?page='.$page_plus.'">Weiter</a>';
68}
69  
70if ($pages_total > 1) {
71    $page_link = ''.$link_string.'';
72}
73  
74// Wir setzen eine Schleife (while)
75while ($row = mysql_fetch_array($result)) {
76    $page_entry_start = $page_entry_start-1;
77    // Hier der code den du brauchst
78}
79  
80// Jetzt kannst du jederzeit $page_link aufrufen
81echo $page_link;
82 
83?>