Loading...   Upload Image

SeitensteuerungTutorials » PHP/MySQL Tutorials » Seitensteuerung

Verfasst von Rompers am 11.10.2012 - wurde schon 75372 mal gelesen

Kategorie: PHP/MySQL
Bewertung:
8x bewertet
Schwierigkeit: einfach
Kommentare: [ 2 ]

Tag - Schlagwort Codeschnippsel Tag - Schlagwort PHP

Seitensteuerung - Tutorial

Was wir wollen sieht so aus:
Zurck 1 ... 3 4 5 6 ... 8 Weiter


<?php
//Verbindung zur Datenbank zupruck
$host = "localhost";     // 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.");  

// Wieviele eintraege pro seite
$entries_per_site = 10;
 
// Wieviele seiten im Umschalter gezeigt
$links_in_sitefunction = 4;
 
// Auf welcher seite sind wir
if (isset($_GET['page'])) {
	if (!is_numeric($_GET['page']) OR empty($_GET['page'])) {
		$page = 1;
	} else {
		$page = $_GET['page'];
	}
} else {
	$page = 1;
}
 
//Wir lesen wieviele eintraege in der db sind
$sql_count_entries = 'SELECT id FROM NameDerTabelle';
$query_count_entries = mysql_query($sql_count_entries);
$count_entries = mysql_num_rows($query_count_entries); // Summe aller eintaege
$page = mysql_real_escape_string($page); // was ueber GET kommt muessen wir sicher vor missbrauch machen
$pages_total = ceil($count_entries/$entries_per_site); // wieviele seiten wir brauchen - ceil rundet auf
$page_start = floor($page - $links_in_sitefunction/2);
$page_start = $page_start <= 0 ? 1 : $page_start;
$page_end = ($page_start + $links_in_sitefunction-1);
$page_end = $page_end >= $pages_total ? $pages_total : $page_end;
$page_max = $page*$entries_per_site;
$max_minus_per_page = $page_max-$entries_per_site;
$page_entry_start = $count_entries-$max_minus_per_page+1;
 
// Wir lesen unser result
$result = mysql_query('SELECT * FROM NameDerTabelle ORDER BY id DESC LIMIT '.(($page-1)*$entries_per_site ).','.$entries_per_site.);
 
// Wir generieren die links
if ($page > 1) {
	$page_minus = $page-1;
	$link_string .= " <a href='test.php?page=".$page_minus."'>Zurueck</a>";
}
 
if ($page_start > 1) {
	$link_string .= ' <a href="test.php?page=1">1</a> ...';
}
 
for ($i = $page_start; $i <= $page_end ;$i++) {
	if ($i == $page) {
		$link_string .= '<b>'.$i.'</b>';
	} else {
		$link_string .= ' <a href="test.php?page='.$i.'">'.$i.'</a> ';
	}
}
 
if ($page_end < $pages_total) {
	$link_string .= ' ... <a href="test.php?page='.$pages_total.'">'.$pages_total.'</a>';
}
 
if ($page < $pages_total) {
	$page_plus = $page+1; $link_string .= ' <a href="test.php?page='.$page_plus.'">Weiter</a>';
}
 
if ($pages_total > 1) {
	$page_link = ''.$link_string.'';
}
 
// Wir setzen eine Schleife (while)
while ($row = mysql_fetch_array($result)) {
	$page_entry_start = $page_entry_start-1;
	// Hier der code den du brauchst
}
 
echo $page_link;  // Jetzt kannst du jederzeit $page_link aufrufen
?>

Kommentar schreibenHinterlasse einen Kommentar

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 ...


       ALL-INKL.COM - Webhosting Server Hosting Domain Provider