Simple Seitenanzeige in PHP/MYSQL
3782 - ntmb - 03.10.2008 12:52 Uhr - Version: 1 - - verlinken als BB-Code
In diesem Tutorial möchte ich euch mal zeigen, wie man ganz einfach eine Seitenanzeige in PHP und MYSQL realisiert.
Ihr hab doch bestimmt schon auf Internetseiten gesehen, das dort eine Seitenanzeige zum Einsatz kommt. (Nachrichtenseiten, ntmb.de , usw..)
So eine Seitenanzeige hat auch viele Voteile, wie das nicht komplett laden der Datenbankinhalte, dadurch kann man die Performance seiner Seite optimieren und Besucher der Seite können sich leicht duch die Seiten navigieren/durchblättern, so wie in einem normalen Buch.
Für dieses Tutorial setzte ich voraus, dass ihr schon im Script eine MYSQL-Verbindung aufgebaut habt, falls nicht, dann schaut euch mal auf dieser Seite um, es gibt hier auch Tutorials zur MYSQL-Verbindung.
Woher weiss man wie viel Seiten man benötigt?
Man guckt sich genau an wie viele Einträge es gibt:
1 |
$eintraegeges=mysql_fetch_array(mysql_query('select count(id) as anzahl from deinetabelle WHERE 1'));
|
Jetzt wissen wir wie viele Einträge man hat.
Nun müsste man ja defenieren wie viele Einträge pro Seite man haben will und anschließend teilt man die gesamten Einträge durch seine defenierte ,,Einträge pro Seite":
1 |
$eintraegeproseite=40;
|
Die eine Ifabfrage fragt ab, ob alle Seiten ausgefüllt sind, wenn es der Fall ist, wird die seitenanzahl um eine Einheit (seitenanzahl-1) abgezogen, da man sonst eine leere Seite am Ende hätte.
Zu dem Script gehört natürlich auch eine Sicherheitabfrage, die verhindern soll, das Besucher das Script manipulieren oder sogar Schaden anrichten können.
1 |
if($_GET['p']=='' or $_GET['p']<0 or $_GET['p']>$seitenanzahl or !preg_match("/^[0-9]*$/",$_GET['p'])){
|
Die If-Abfrage ist mit mehreren ODER-Operatoren verknüpft, dass heist, dass nur ein Wert erfüllt sein muss, damit die If-Abfrage gültig ist.
Es wird gefragt ob der Wert mit der Seitenanzahl ($_GET['p']) leer ist,
ob der Wert unter null ist,
ob der Wert über die Seiteanzahl hinausgeht und
ob der Wert keine natürlichen Zahl ist (1, 2, 3, 4, 5,....N)
Innerhalb der Ifabfrage wird dann die aktuelle Seite auf 0 gesetzt, also auf die erste Seite.
Jetzt kommt der Teil, wo wir die Seitenanzahl ausgeben wollen. Hierbei verwenden wir eine zählergesteuerte Schleife (for), die von 0 bis unsere seitenanzahl reicht:
1 |
for($ii=0;$ii<=$seitenanzahl;$ii++){
|
Wir verwenden in unserer Schleife auch eine Schöne If-Abfrage, die abfragt ob die aktuelle Seite dran ist, wenn es der Fall ist, dann wird der Seitenlink fett gemacht. Zum Ende erfolgt dann halt noch ein Zeilenumbruch.
Nu kommen wir zur Ausgabe des Inhaltes:
1 |
$pnow=$_GET['p']*$eintraegeproseite;
|
LIMIT '.$pnow.','.$eintraegeproseite
- $pnow stellt unsere Startposition dar, hierbei wird die aktuelle Seitenzahl mit der ,,Anzahl pro Seite" mutlipliziert.
- $eintraegeproseite wenn du es nicht mehr weisst, dann schau weiter oben.
Also man fängt bei $pnow an und gibt ab dort dann $eintraegeproseite Einträge aus.
In der Schleife geben wir in diesen Tutorial nur die ID aus, natürlich musst du es noch anpassen, aber ich denke das ist dir klar.
Zum Schluss gibt es dann noch das Script am Stück:
1 |
<?
|
Über Feedback zu diesem Tutorial würde ich mich freuen
mfg Eugen
Mitglieder-Kommentare
#3 von heke
echt super funktioniert 1A, genau das was ich gesucht habe, top leistung und danke noch mal
#2 von Sniper
Liebe Grüße
Sniper
Bei Fragen oder Probleme PM me oder schreib in das Forum
ist noice^^
Liebe Grüße
Sniper
Bei Fragen oder Probleme PM me oder schreib in das Forum
#1 von ntmb
Möchte den keiner ein Kommentar zu meinem Tutorial abegeben?
mfg Eugen
mfg Eugen
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
mfg Eugen
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen