romy: Linkleiste begrenzen

Beitrag lesen

Hi Falk,

Bis hier ist alles klar.

okay

Du willst meinentwegen immer nur 10 WeiterLinks anzeigen:
Du generierst also eine Anzeige die sich auf 10 beschränkt aber von einem bestimmten Startpunkt ausgeht, am Anfang wäre dieser 0.
Genau hier steige ich aus.

dann bemühe ich mich mal um Klarheit ;)

Ich habe bisher nur einfach vor und zurück- Leisten gemacht mit der Möglichkeit auch zum Ersten bzw. Letzem Datensatz zu springen. Nun muss ich mich erst eindenken in die andere Möglichkeit wie bei Google.

Ich glaube, wenn ich mal viel Zeit habe (hoffentlich demnächst, werde ich mal einen Feature-Artikel versuchen zu schreiben, da diese Frage doch häufiger auftaucht.

Also:
// wir definieren ein Limit, welchem bestimmt wieviele Bilder
// auf einmal angezeigt werden
$limit = 10;

// wir definieren ein Offset, welches sich ständig verändert
[wenn offset nicht gesetzt] $offset = 0;

// wie Du die Seitenanzahl hinbekommst weist Du ja schon
// also haben wir noch eine Variable $pages
$pages = $gesamt/$limit
[wenn $gesamt%$limit != 0] $pages++;

// so hattest Du es bisher,

// anzeige der Zahlen mit Link
[Schleife über alle Seiten]
$newoffset = $limit * $i; //$i ist die Laufvariable
[Link mit $newoffset als Übergabe]

//jetzt wollen wir aber die Anzeige einschränken
// wir brauchen eine Variable $seitenoffset, die ist Standardmässig 0
// und ein $seitenlimit, welches wohl 10 sein wird

// Anzeige
[Schleife von $seitenoffset bis $seitenlimit]
$newoffset = $limit * $i;

[wenn $i gleich $seitenlimit ist übergib dem Link auch noch das neue Seitenoffset]
$newseitenoffset = $seitenoffset + $seitenlimit;
[link mit newoffset und newseitenoffset]

Irgendwie merke ich, dass es so nicht so richtig vorwärts geht, bin heute nicht so gut drauf...

guck Dir mal dass an
vielleicht klannst Du ja anpassen
http://codewalkers.com/seecode/92.html

meine Variante sieht so aus:

  
<?  
// save values if not set up  
if(empty($count)) $count=1;  
  
// calculate pages  
$pages = INTVAL($count/$limit);  
if($count%$limit!=0) $pages++;  
  
// set First  
echo "  <a class=\"icon\" href=\"".$phpself."?offset=1\"><img src=\"images/pfeilanf.gif\" title=\"first\" alt=\"first\"></a> ";  
  
// set prev  
$new = $offset-$limit;  
echo "<a class=\"icon\" href=\"".$phpself."?offset=".$new."\"><img src=\"images/pfeill.gif\" title=\"prev\" alt=\"prev\"></a> ";  
  
// set numbers  
$where = INTVAL(($offset/$limit)) + 1;  
echo " [".$where." | ".$pages."] ";  
  
// set next  
if($offset <= ($count-$limit)) $new = $offset+$limit;  
else $new = $offset;  
echo "<a class=\"icon\" href=\"".$phpself."?offset=".$new."\"><img src=\"images/pfeilr.gif\" title=\"next\" alt=\"next\"></a> ";  
  
// set Last  
$new = INTVAL($count/$limit) * $limit;  
if($new==$count) $new -= $limit;  
$new += 1;  
echo "<a class=\"icon\" href=\"".$phpself."?offset=".$new."\"><img src=\"images/pfeilende.gif\" title=\"last\" alt=\"last\"></a> ";  
  
?>  

hoffe es hilft trotzdem

ciao
romy