Verfasst von Alice am 04.05.2009 - wurde schon 36197 mal gelesen
PHP
Navigation
Blaetterfunktion
Pagination
Loading...
![]()
Verfasst von Alice am 04.05.2009 - wurde schon 36197 mal gelesen
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 ...