PHP-Logo
Druckansicht von http://www.php-homepage.de/artikel/artikel20.html

PHP-Logo
[ Main Menue ]
Homepage
Downloads
Artikel
Scripts
Forum
PHP-Manual
Links
News
Freelancer
Bücher
RuDolF
Suche
Misc
Über diese Seite
Kontakt
Wunschzettel
MyGuestbook
*
[ Suche ]
*
[ Partner ]


Domain Webhosting
*
[ Partner Sites ]
Dynamic-Webpages
PHP-Center
PHP-Welt
phpUG.de
Random Link
*
[ Autoren gesucht! ]
PHP-Homepage.de sucht laufend Autoren für News und Artikel
Interesse?
*

Follow on Twitter - @phphomepage

RSS Feed blogoscoop

Seitenanzeige mit Umblättern bei Datensätzen aus einer MySQL Datenbank von Philipp Lenz

Als erstes muss eine Abfrage an die Datenbank abgesetzt werden um die Masse der Datensätze zu ermitteln:


<?php
    $select 
mysql_query("select * from tabelle");<br />
    
$reihen mysql_num_rows($select);
?>

Somit haben wir nun eine Zahl die die gefundenen Datensätze beinhaltet. Diese Zahl müssen wir nun durch unsere Zahl X teilen.
X beinhaltet unsere Menge der anzuzeigenen Datensätze auf einer Seite.


<?php
    $zeigen 
floor($reihen 5);
?>

Die Variable $zeigen beinhaltet nun die Seitenanzahl die wir auf der Seite haben. Mit der Funktion floor() haben wir die Zahl gleich abgerundet, da wir ansonsten wahrscheinlich eine Zahl bekommen würden, die mit unmengen Stellen nach dem Komma gefüllt ist.

Jetzt müssen wir die Variable setzen die den Startpunkt bezeichnet, von wo an in der Datenbank.Tabelle selektiert wird.


<?php
    
if(!$start) { $start 0.1; }
?>

Somit haben wir die Grundlage zum selektieren gelegt:


<?php
    $result 
mysql_query("select * from tabelle limit start,5");
?>

Danach machen wir eine normale Ausgabe via einer while-Schleife in einer HTML-Tabelle:


<?php
    
echo "< table>";
    while (
$zeile mysql_fetch_array($result)) {
        echo 
"<tr><td>$zeile[3]</td></tr>";
    }
    echo 
"< /table>";
?>

Die 3 in dem Array $zeile bezeichnet welche Spalte in dem Datensatz ausgegeben werden soll, hier fängt man bei 0 an zu zählen, also Spalte 1 ist 0, Spalte 2 ist 1 usw...

Da nun die erste Ausgabe mit 5 Datensätzen geschehen ist, müssen wir uns dem Umblättern zuwenden. Als erstes machen wie via einer for-Schleife eine Ausgabe mit den Seiten. Dazu benötigen wir wieder die Variable $zeigen.


<?php
    
if($start 0.1) {
            
$zurueck $start 5;
            echo 
"<a href=\"$PHP_SELF?start=$zurueck\"><< Zurück</a>";
    }
    for(
$i 0$i <= $zeigen$i++) {
        echo 
"<a href=\"$PHP_SELF?start=$n\">$i</a>";
    
$n += 5;
    }
    
$weiter $start 5;
    if(
$reihen $weiter) {
            echo 
"<a href=\"$PHP_SELF?start=$weiter\">Weiter >></a>";
    }
?>

Somit haben wir nun eine Ausgabe der Seiten die verfügbar sind, desweiteren definieren wir noch eine Variable ($n), Sie wird nach jeder Ausgabe mit 5 addiert, somit pushen wir die Variable $start hoch und erzwingen beim Klick eine andere Ausgabe. Soll heissen, der MySQL-Query $select wird in der Variable $start beeinflusst.
Vor und nach der for-Schleife generieren wir auch noch zwei Hyperlinks, der eine mit dem Namen Zurück und den anderen Weiter. Diese Links sollen dem Benutzer die Möglichkeit geben ohne über die Seitenzahlen zu navigieren und einfach mit den Links sich durch die Seiten zu schalten. Dazu werden 2 Variablen erstellt, die eine $zurueck und die andere $weiter. Die erste ($zurueck) wird mit 5 subtrahiert und dann wird mit einer if-Schleife überprüft ob die Variable über 0.1 ist. Wenn das Ergebniss true ergibt, wird der Link Zurück ausgegeben. Das gleiche nur umgekehrt, also das die Variable $weiter mit 5 addiert wird, passiert auch beim Weiter-Hyperlink.

Listing

<?php
mysql_connect
("host","username","password");
mysql_select_db("database");

    
$select mysql_query("select * from tabelle");
    
$reihen mysql_num_rows($select);
    
    
$zeigen floor($reihen 5);
    
    if(!
$start) { $start 0.1; }
    
    
$result mysql_query("select * from tabelle limit $start,5");
    echo 
"<table>";
        while (
$zeile mysql_fetch_array($result)) {
        echo 
"<tr><td>$zeile[3]</td></tr>";
    }
    echo 
"</table>";
    if(
$start 0.1) {
            
$zurueck $start 5
            echo 
"<a href=\"$PHP_SELF?start=$zurueck\"><< Zurück</a>"
    }
    for(
$i 0$i <= $zeigen$i++) {
        echo 
" <a href=\"$PHP_SELF?start=$n\">$i</a> ";
    
$n += 5;
    }
    
$weiter $start 5;
    if(
$reihen $weiter) {
            echo 
"<a href=\"$PHP_SELF?start=$weiter\">Weiter >></a>"
    }
?>

erstellt am 30/03/02 von Philipp Lenz


Zurück zur Übersicht
© Copyright 1999 - 2011 by Mark Kronsbein | Impressum | NutzungsbedingungenWeiterempfehlen | Seitenanfang
0.0211