Blätterfunktion rückwertszählen!

master1971

Mitglied
Diese evtl. schon bekannte Blätterfunktion die nicht von mir ist, würde ich gerne wissen wie man machen kann, das beim Blättern die Zahlen Rückwerts angezeigt bekommt bzw. bei jeden Link klick z.B auf Seite 1 die Seitenanzahl 5 Angezeigt wird, vorausgesetzt es Sind 5 Seiten.

Z.B. So:

Auf Seite 1 = die Seitenzahl 5
Auf Seite 2 = die Seitenzahl 4
Auf Seite 3 = die Seitenzahl 3
Auf Seite 4 = die Seitenzahl 2
Auf Seite 5 = die Seitenzahl 1

Der Links Selber zum Blättern müssen aber in der Richtigen reinfolge bleiben.

Kann mir jemand hierzu weiterhelfen?

Grüße

PHP:
function blaetterfunktion($seite,$maxseite,$url="",$anzahl=4,$get_name="seite") 
   { 
   if(ereg("\?",$url)) $anhang = "&"; 
   else $anhang = "?"; 

   if(substr($url,-1,1) == "&") { 
      $url = substr_replace($url,"",-1,1); 
      } 
   else if(substr($url,-1,1) == "?") { 
      $anhang = "?"; 
      $url = substr_replace($url,"",-1,1); 
      } 

   if($anzahl%2 != 0) $anzahl++; //Wenn $anzahl ungeraden, dann $anzahl++ 

   $a = $seite-($anzahl/2); 
   $b = 0; 
   $blaetter = array(); 
   while($b <= $anzahl) 
      { 
      if($a > 0 AND $a <= $maxseite) 
         { 
         $blaetter[] = $a; 
         $b++; 
         } 
      else if($a > $maxseite AND ($a-$anzahl-2)>=0) 
         { 
         $blaetter = array(); 
         $a -= ($anzahl+2); 
         $b = 0; 
         } 
      else if($a > $maxseite AND ($a-$anzahl-2)<0) 
         { 
         break; 
         } 

      $a++; 
      } 
   $return = ""; 
   if(!in_array(1,$blaetter) AND count($blaetter) > 1) 
      { 
      if(!in_array(2,$blaetter)) $return .= "&nbsp;<a href=\"{$url}{$anhang}{$get_name}=1\">1</a>&nbsp;..."; 
      else $return .= "&nbsp;<a href=\"{$url}{$anhang}{$get_name}=1\">1</a>&nbsp;";	   
      } 

   foreach($blaetter AS $blatt) 
      { 
      if($blatt == $seite) $return .= "&nbsp;<b>$blatt</b>&nbsp;"; 
      else $return .= "&nbsp;<a href=\"{$url}{$anhang}{$get_name}=$blatt\">$blatt</a>&nbsp;"; 
      } 

   if(!in_array($maxseite,$blaetter) AND count($blaetter) > 1) 
      { 
      if(!in_array(($maxseite-1),$blaetter)) $return .= "...&nbsp;<a href=\"{$url}{$anhang}{$get_name}=$maxseite\">letzte</a>&nbsp;"; 
      else $return .= "&nbsp;<a href=\"{$url}{$anhang}{$get_name}=$maxseite\">$maxseite</a>&nbsp;"; 
      } 

   if(empty($return)) 
      return  "&nbsp;<b>1</b>&nbsp;"; 
   else 
      return $return; 
   }

 
$seite = $_GET["seite"];  //Abfrage auf welcher Seite man ist 

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1 
if(!isset($seite)) 
   { 
   $seite = 1; 
   } 

//Verbindung zu Datenbank aufbauen 

$link = mysql_connect("localhost","master1_qradmin","CODing1971") or die ("Keine Verbindung moeglich"); 
mysql_select_db("master1_qrcoding") or die ("Die Datenbank existiert nicht"); 


//Einträge pro Seite: Hier 15 pro Seite 
$eintraege_pro_seite = 10; 

//Ausrechen welche Spalte man zuerst ausgeben muss: 

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; 


//Tabelle Abfragen 
//Tabelle hei&szlig;t hier einfach: Tabelle 
$abfrage = "SELECT * FROM qr_key_suche LIMIT  $start, $eintraege_pro_seite"; 
$ergebnis = mysql_query($abfrage); 
while($row = mysql_fetch_object($ergebnis)) 
    { 
   echo $row->qr_zahlung."<br>"; // Hier die Ausgabe der Einträge 
   } 


//Jetzt kommt das "Inhaltsverzeichnis", 
//sprich dort steht jetzt: Seite: 1 2 3 4 5 


//Wieviele Einträge gibt es überhaupt 

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten 
//also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt 
//Sonst funktioniert die Blätterfunktion nicht richtig, 
//und hier kann nur 1 Feld abgefragt werden, also id 

$result = mysql_query("SELECT qr_zahlung FROM qr_key_suche"); 
$menge = mysql_num_rows($result); 

//Errechnen wieviele Seiten es geben wird 
$wieviel_seiten = $menge / $eintraege_pro_seite; 

//Ausgabe der Seitenlinks: 
echo "<div align=\"center\">"; 
echo "<b>Seite:</b> "; 


//Ausgabe der Links zu den Seiten 
for($a=0; $a < $wieviel_seiten; $a++) 
   { 
   $b = $a + 1; 

   //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben 
   if($seite == $b) 
      { 
      echo "  <b>$b</b> "; 
      } 

   //Aus dieser Seite ist der User nicht, also einen Link ausgeben 
   else 
      { 
      echo "  <a href=\"?seite=$b\">$b</a> "; 
      } 


   } 
echo "</div>";
 
Irgendwo wird da die Anzahl Seiten drin stecken.
Dann ist die Ausgabe einfach: [Anzahl Seiten] + 1 - [Aktuelle Seitenzahl]

Hab aber grad keine Lust den Fremden Code duchzuackern um herauszufinden wo was steckt.
 
Zurück