Loading...   Upload Image

SeitensteuerungTutorials » PHP/MySQL Tutorials » Seitensteuerung

Verfasst von Rompers am 11.10.2012 - wurde schon 67514 mal gelesen

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

Tag - Schlagwort Codeschnippsel Tag - Schlagwort PHP

Seitensteuerung - Tutorial

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


<?php
//Verbindung zur Datenbank
$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 einträge 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 einträge in der db sind
$sql_count_entries = 'SELECT testid FROM test';
$query_count_entries = mysql_query($sql_count_entries);
$count_entries = mysql_num_rows($query_count_entries); // Summe aller einträge
$page = mysql_real_escape_string($page); // was über GET kommt müssen 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 test ORDER BY testid 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.'">Zurück</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
}
 
// Jetzt kannst du jederzeit $page_link aufrufen
echo $page_link;

?>

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


Affiliates:   The Seduction  •   Pat DG  •   Colorful Gfx  •   Gallery Yuri  •   Design Grafixx  •   Chibi Graphics  •   Blue-Graphics  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider