Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 ICQ Generator
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

[Tutorial] Vorwärts und Rückwärts blättern

Sie befinden sich: Home > Webmaster News

Daten aus MySQL anzeigen und vorwärts / rückwärts blättern

Wenn Sie eine Datensammlung auf einer Seite ausgeben möchten, und dabei nur immer z.B. 30 Zeilen angezeigt werden sollen, und der Besucher dann weiterblättern soll, so ist dies keine triviale Aufgabe. Wir wollen an dieser Stelle keinen kompletten Code veröffentlichen, sondern nur das Prinzip veranschaulichen.

<?php 
$sql = "SELECT feld1, feld2 FROM tabelle ORDER BY feld2 WHERE feld2 != '' LIMIT 0, 30";
?>

Hiermit können wir in einer While-Schleife 30 Tabellenzeilen (Zeilen 0 - 29) ausgeben lassen. Unter diese Ausgabe setzen wir Textlinks oder Links mit Pfeilgrafiken, mit denen der benutzer blättern kann. Wenn er Vorwärts blättern möchte, dann müsste unsere PHP-Datei neu aufgerufen werden, der SQL-Befehl müsste dann aber sein:

<?php 
$sql = "SELECT feld1, feld2 FROM tabelle ORDER BY feld2 WHERE feld2 != '' LIMIT 30, 30";
?>
Das muss natürlich allgemein geschrieben sein, z.B. so:
<?php 
$sql = "SELECT feld1, feld2 FROM tabelle ORDER BY feld2 WHERE feld2 != '' LIMIT $erster, 30";
?>

Beim allerersten Durchlauf müsste $erster = 0 sein und beim zweiten Durchlauf müsste $erster = 30 sein. 
Der Link, auf den der Besucher nach der Anzeige der ersten 30 Zeilen klicken muss, um die nächsten 30 Zeilen zu sehen müsste also in etwa so aussehen: script.php?erster=30, und dieser Parameter müsste im Script ausgelesen, geprüft, und dann in das SQL-Statement eingebaut werden:

<?php 
$erster = $_GET['erster'];
// Will uns jemand etwas böses einschmuggeln?
if(!is_numeric($erster)) $erster = 0; 
?>

Wenn wir nun die Datensätze 30 bis 59 ausgeben, so muss der Link für das Vorwärtsblättern so aussehen: script.php?erster=60 Diese neue Zahl ist also immer genau 30 größer als die vorhandene Zahl $erster.

<?php 
$vorwaerts = $erster + 30;
?>

Hier prüfen wir, ob $vorwärts einen Wert annimmt, der größer ist als die Anzahl der vorhandenen Tabellenzeilen. In diesem Fall geben wir den kompletten Link zum Vorwärtsblättern nicht aus.

<?php 
$sql = "SELECT count(*) AS count FROM tabelle ORDER BY feld2 WHERE feld2 != ''";
?>

Analog dazu können wir einen Link für das Rückwärtsblättern berechnen: 

<?php 
$zurueck = $erster - 30;
?>

Hier ist zu prüfen, ob $zurueck kleiner als 0 wird. In diesem Fall wird der Link zum Zurückblättern einfach nicht ausgegeben.

(Autor: WolfgangWolfgang), Eingetragen am 20.06.2008


Schreib ein Kommentar

Name
Mail
Webseite
Kommentar