
PHP
Navigation
Blaetterfunktion
Pagination
Loading...
PHP
Navigation
Blaetterfunktion
Pagination
<?php // Datenbankverbindung //--------------------------------------------------- $host = "localhost"; // Adresse des Datenbankservers, meist localhost $user = ""; // Ihr MySQL Benutzername $pass = ""; // Ihr MySQL Passwort $dbase = ""; // Name der Datenbank $connection = mysql_connect("$host" , "$user" , "$pass") OR die ("Keine Verbindung zu der Datenbank moeglich."); $db = mysql_select_db($dbase , $connection) OR die ("Auswahl der Datenbank nicht moeglich."); //--------------------------------------------------- $pfad = $_SERVER['PHP_SELF']; // aktuellen Dateipfad ermitteln, wichtig fuer die Links der Seitennavigation $query = mysql_query("SELECT id FROM user"); // DB Abfragee // ------------------------------------------------------------------------ $datensaetze_pro_seite = "10"; // Anzahl der Datensaetze die Pro Seite angezeigt werden sollen $p = "3"; // Anzahl der Links die in der Seitenavigation ausgegeben werden $total = mysql_num_rows($query); // liefert die Anzahl der Datensaetze der Abfrage $seiten = ceil($total / $datensaetze_pro_seite); // Berechnet die Seitenanzahl insgesamt // ------------------------------------------------------------------------ if(empty($_GET['go'])){ // korrigieren der aktuellen Seite $go = 1; // Sofern $go nicht uebergeben wurde }elseif($_GET['go'] <= 0 || $_GET['go'] > $seiten){ $go = 1; // Variable definieren }else{ // Wenn Obiges nicht zutraf $go = mysql_real_escape_string($_GET['go']); // Variable definieren } $links = array(); // Linkkette bilden // Seite die vor der aktuellen Seite kommt definieren if(($go - $p) < 1){ $davor = $go - 1; }else { $davor = $p; } // Seite die nach der aktuellen Seite kommt definieren if(($go + $p) > $seiten){ $danach = $seiten - $go; }else{ $danach = $p; } $off = ($go - $davor); // Variable definieren if ($go- $davor > 1){ // Link definieren => Zur Erste Seite springen $first = 1; $links[] = "<a href=\"$pfad?go=$first\" title=\"Zur ersten Seite springen\">« Erste ...</a>\n"; } if($go != 1){ // Link definieren => eine Seite zurueck blaettern $prev = $go-1; $links[] = "<a href=\"$pfad?go=$prev\" title=\"Eine Seite zurueck blaettern\"> «</a>\n"; } for($i = $off; $i <= ($go + $danach); $i++){ // einzelne Seitenlinks erzeugen if ($i != $go){ // Link definieren $links[] = "<a href=\"$pfad?go=$i\">$i</a>\n"; }elseif($i == $seiten) { // aktuelle Seite, ein Link ist nicht erforderlich $links[] = "<span class=\"current\">[ $i ]</span>\n"; }elseif($i == $go){ // aktuelle Seite, ein Link ist nicht erforderlich $links[] = "<span class=\"current\">[ $i ]</span>\n"; } // close if $i } if($go != $seiten){ // Link definieren => eine Seite weiter blaettern $next = $go+1; $links[] = "<a href=\"$pfad?go=$next\" title=\"Eine Seite weiter blaettern\"> » </a>\n"; } if($seiten - $go - $p > 0 ){ // Link definieren => Zur letzen Seite springen $last = $seiten; $links[] = "<a href=\"$pfad?go=$last\" title=\"Zur letzten Seite springen\">... Letzte »</a>\n"; } $start = ($go-1) * $datensaetze_pro_seite; // Berechne den Startwert fuer die DB $link_string = implode(" ", $links); // Zusammenfuegen der einzelnen Links zu einem String $abfrage = mysql_query("SELECT ID, Name, Email, DATE_FORMAT(Datum, '%d.%m.%Y') AS datum FROM user LIMIT $start,$datensaetze_pro_seite "); // Daten ausgeben while($row = mysql_fetch_object($abfrage)){ echo "<p>".$row->ID." - "$.row->Name."<br />\n"; echo "Email: ".$row->Email."<br /> \n"; echo "Datum: ".$row->datum."\n </p>"; } // close while // -------------------------------------- Seitennavigation ausgeben ---------------------------- echo "<div id=\"navigation\">\n"; echo "<span class=\"pages\">Seite ".$go." von ".$seiten."</span>\n"; echo $link_string; // Ausgabe der Seitennavigation echo "</div> \n"; // -------------------------------------- Seitennavigation ende -------------------------------- ?>
#navigation a { border: 1px solid #E0E0E0; margin: 0 1px; padding: 4px 7px; color: #444; font-weight: bold; text-decoration: none; } #navigation a:visited { color: #507DB4; font-weight: normal; text-decoration: none; } #navigation a:hover, #navigation a:active { border: 1px solid #507DB4; background: #F8F8F8; color: #737373; text-decoration: none; } .current { border: 1px solid #E0E0E0; padding: 4px 7px; color: #444; } .pages{ border: 1px solid #E0E0E0; padding: 2px 7px; float: right; margin: -3px 0 0; }
Du musst angemeldet sein, um einen Kommentar zu hinterlassen...
Du bist noch kein Mitglied von Alice-Grafixx.de?
Dann kannst du dich hier kostenlos registrieren ...