php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.05.2008, 21:40  
Neuer Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 15
Agini
Standard Blätterfunktion

Guten Abend,

ich habe mir eine Blätterfunktion geschrieben und habe ein Problem mit der Anzeige der Seiten. Wenn es mehr als 20 Seiten sind sieht es natürlich etwas komisch aus. Wie kann ich die Anzeige nun so gestalten, dass nach den ersten 3 Seiten drei Punkte stehen und es dann nach 10 Seiten wieder weiter geht?

Mit freundlichen Grüßen, Joshua.
Agini ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.05.2008, 22:28  
Benutzer
 
Registriert seit: 29.04.2008
Beiträge: 33
myPages
Standard

Moin,

du könntest z.B. den maximalen Wert berechnen und den als Letzte Seite angeben, ebenso wie die Minimalen als Startwert, der ändert sich ja eigentlich nicht. Ansonsten wird sich die Blätterfunktion ja auch an der Seite orientieren (z.B. Seite 16) - warum machst du es nicht einfach so, dass du von der Seitenzahl +3 bzw. -3 abziehst und so z.B. auf 7 angezeigte Links kommst.

Ich muss allerdings zugeben, dass ich es noch nicht wirklich ausprobiert habe, aber zumindest würde mir das so am effektivsten erscheinen.

Also im Prinzip

PHP-Code:
[url="?page=$seitenzahl-1"]vorherige[/url]
[
url="?page=$seitenzahl"]jetzige[/url]
[
url="?page=$seitenzahl+1"]weitere[/url]
[
url="?page=$seitenanzahl+4"]...[/url
Natürlich ist das Ganze noch ausbaufähig und sollte mit ein paar Kontrollstrukturen ergänzt werden, sollte aber genügen ...

MfG
myPages
__________________
Man braucht drei Dinge im Leben
die Gelassenheit die Dinge hinzunehmen, die man nicht ändern kann,
den Mut die Sachen zu verändern, die man ändern kann,
und die Weisheit zwischen den beiden zu unterscheiden.
myPages ist offline  
Alt 19.05.2008, 19:10  
Erfahrener Benutzer
 
Benutzerbild von GelaMu
 
Registriert seit: 05.03.2006
Beiträge: 183
GelaMu
Standard

Ich hab mir mal gerade bisschen Zeit genommen um das hier zu schreiben.
Vielleicht hilft dir das ja weiter.

PHP-Code:
<?php

$page 
2;
$noe 23// Anzahl der Einträge
$epp 10// Einträge pro Seite

// Jetzt findet man raus, wie viele Seiten existieren
$nop $noe/$epp;
if(
is_float($nop)) {
    
// Beispielsweise: 23/10=2.3 Seiten? Geht ja nicht.
    //                 Es sind also 3 Seiten vorhanden.
    
$nop = (int)$nop+1;
}

$start $epp*$page-$epp+1// Von 11
if($start $noe) {
    
$start $noe;
}

$stop $start+$epp-1// Bis 40 ? So viel haben wir nicht :)
if($stop $noe) {
    
$stop $noe;
}

echo 
"Seiten: $nop\n";
echo 
"Anfang: $start\n";
echo 
"  Ende: $stop\n";

echo 
"[url='?page=1']Erste[/url]|\n";
echo 
"<a>$page</a>|\n";

$i $page+1;
if(
$i $nop) {
    
$i $nop;
}
$j $i+9;
if(
$j $nop) {
    
$j $nop;
}
while(
$i $j) {
    echo 
"[url='?page=$i']$i[/url]|\n";
    
$i++;
}

echo 
"[url='?page=$nop']Letzte[/url]\n";

?>
P.S. $start und $stop sind natürlich dazu da, um Einträge aus der Datenbank zu holen. Soll halt ein Beispiel sein.
GelaMu ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.