Einzelnen Beitrag anzeigen
  #3  
Alt 14.12.2009, 04:46:31
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Was haltet ihr von dieser Blätterfunktion?

hi kokklo,

ich schliesse mich ein bissle rarios an. Aber was soll ich sagen hab mir
für mein eigenes miniframework ne Klasse dafür geschrieben. Also weiter
so ....

Hab mir aber deins mal angeschaut und möchte dir den tip geben auch noch
die url zu übergeben also in deinem fall gbook.php?page=

Ansonsten hst du in dem geposteten noch fehler, die Seitenzahlen waren nicht richtig.
habe deinen Code mal kommentiert wo //<-fehler steht habe ich geändert.
PHP-Code:
<?php
function blaettern$aktuelle_seite$anzahl_seiten$bereich )
{
    
    
# Setze linken 
    
$links $bereich;
    
$rechts $bereich;
    
//! Kürzer -> $links = $rechts = $bereich;
    
    
$ausgabe = array();

    
# Link zur neuesten (aktuellsten) Seite
    
if( $aktuelle_seite $links )
    {
        
$ausgabe[] = ' <a href="gbook.php?page=1">Neueste</a> ';
    }
    
    
# Eine Seite weiter in Richtung neueste (aktuellste Seite)
    
$newer '';
    
//! $newer kann hier doch keinen wert haben also warum ='' ?
    
if( $aktuelle_seite != )
    {
        
$newer $aktuelle_seite 1;
        
$ausgabe[] = ' <a href="gbook.php?page='.$newer.'">&lt;&lt;</a> ';
    }
    
    
# Lege nun max. Anzahl der Links im linken u. rechten Bereich fest kontra der Vorgabe
    
if( ( $aktuelle_seite $links ) < )
    {
        
$links $aktuelle_seite 1;
    }
    
    if( ( 
$aktuelle_seite $rechts ) > $anzahl_seiten )
    {
        
$rechts $rechts - ( ( $aktuelle_seite $rechts ) - $anzahl_seiten );
    }
    
    
# Ausgabe der Links (linker Bereich <-> aktuelle Seite <-> rechter Bereich)
    
$round $aktuelle_seite $links;
    
$zahler_down $links+$rechts;
    
$seiten '';
    
    for( 
$zaehler_up 0$zaehler_up <= $links+$rechts $zaehler_up++ )
    {
        
        if ( 
$round $aktuelle_seite )
        {
            
$seite $aktuelle_seite $links $zaehler_up;
            
$link $anzahl_seiten $seite 1;
            
$ausgabe[] = ' <a href="gbook.php?page='.$seite.'">'.$seite.'</a> ';//<-fehler
        
}
        if ( 
$round $aktuelle_seite )
        {
            
$seite $aktuelle_seite $rechts $zahler_down;
            
$link $anzahl_seiten $seite 1;
            
$ausgabe[] = ' <a href="gbook.php?page='.$seite.'">'.$seite.'</a> ';//<-fehler
        
}
        if ( 
$round == $aktuelle_seite )
        {
            
$link $anzahl_seiten $aktuelle_seite 1;
            
            
$ausgabe[] = ' <strong>'.$aktuelle_seite.'</strong> ';//<-fehler
        
}
        
        
$round += 1;
        
$zahler_down -= 1;
            
    }
    
    
# Eine Seite weiter in Richtung Älteste
    
$older '';
    if( 
$aktuelle_seite != $anzahl_seiten )
    {
        
$older $aktuelle_seite 1;
        
$ausgabe[] = ' <a href="gbook.php?page='.$older.'">&gt;&gt;</a> ';
    }
    
    
# Link zur ältesten Seite
    
$last '';
    if( ( 
$anzahl_seiten $aktuelle_seite $rechts ) > )
    {
        
$ausgabe[] = ' <a href="gbook.php?page='$anzahl_seiten .'">&Auml;lteste</a> ';
    }
    
    return 
$ausgabe;

# $aktuelle Seite über die $_GET['page'] holen
# $anzahl_seiten über ein ->num_rows;
# $bereich: Anzahl der Links, links und rechts der aktuellen Seite
$aktuelle_seite=4;
$anzahl_seiten=10;
$bereich=2;
$seiten blaettern$aktuelle_seite$anzahl_seiten$bereich );

for ( 
$i 0$i count($seiten); $i++ )
{
    echo 
$seiten[$i];

?>
mfg

Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten