Hallo Sven!
Ich habe erstmal dein Gästebuch ugb runtergeladen und angeschaut. Erstmal respekt nur für mich etwas zu durcheinander mit den ganzen arrays und variablen hehe.
Der Code ist generalüberholungsbedürftig und nutzt veraltete Schreibweisen, vor allem, was der Subroutinenaufruf angeht. Also deswegen nicht 1:1 übernehmen. Ich habe nun keinen Nerv und vor allem nicht die Zeit im Moment, das GB neu zu schreiben, das wollte ein anderer Forumsleser hier übernehmen ;)
Auch solltest Du use strict; nutzen, die Variablen mit my deklarieren und wenn Du auch Templates einsetzt, dann das Modul HTML::Template einbinden.
Also ich muss eine foreach schleife öffnen die einträge dividieren und die ersten 10 oder mehr ausgeben. Das mach ich mit modulo-dividieren da nur eine ganze zahl rauskommen kann.
Aber was dann passieren soll versteh ich überhaupt nicht.
Das ugb benutzt keine Datenbank, sondern eine einfache Textdatei. Jeder Gästebucheintrag entspricht einer Zeile dieser Datei. Andersrum: Hat die Datei 47 Zeilen, sind 47 Einträge vorhanden.
Die Modulo-Division durch 10 gibt Dir die Anzahl der Einträge der letzten Seite:
47 % 10 -> 7
Das bedeutet: vier Seiten à 10 Einträge plus eine à 7 = 5 Seiten. Deine Subroutine muss das also ermitteln.
$count = # Zeilen der Datei.
$lasts = $count % 10; # modulo-Division (ergibt Einträge
# der letzen Seite)
$pages = ($count - $lasts) /10; # Ermittlung der ...
$pages++ if $lasts > 0; # ...Seitenzahl
^^ Die letzte Zeile ist hier wichtig: wenn die Modulo-Division mehr als "0" ergibt (wie das bei 47 Zeilen der Fall ist), wird $pages um 1 erhöht (es gibt dann 5 Seiten). Wenn das Ergebnis 0 ist, haben wir eine Anzahl von Seiten die durch 10 teilbar ist (bei nur 40 Einträgen wäre der Wert von $pages "4").
Reicht es für den Anfang?
Viele Grüße aus Frankfurt/Main,
Patrick

Diblom
_ - jenseits vom delirium - _
[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
Nichts ist unmöglich? Doch!
Heute schon gegökt?