1. Keeping track of where you are: You could use a cgi-parameter (I like to use one with the name 'lastId') and set links like
<a href="$script?lastId=$lastId-$ammountOfDataToDisplay>Last entries</
+a>
<a href="$script?lastId=$lastId+$ammountOfDataToDisplay>Next entries</
+a>
(Btw: I just used $lastId-$ammountOfDataToDisplay to show the value; perhaps you have to calculate it before writing the links).
2. If you used a database instead of flatfiles, maybe the SQL-Command LIMIT might help you getting the correct slices of data, e.g.
SELECT * FROM table
ORDER BY id DESC
LIMIT $lastId, $ammountOfDataToDisplay
But maybe this will also work with DBI and DBD::CSV, I don't know.
Then just calculate the new $lastId (now better called $actualLastId) and check if you have to write the links, e.g. something like the following:
if ($lastId > 0) {
my $newId = $lastId - $ammountOfDataToDisplay;
print qq~<a href="$scriptname?lastId=$newId">Last</a>~;
}
if ($outputCount == $ammountOfDataToDisplay) {
my $newId = $lastId + $ammountOfDataToDisplay;
print qq~<a href="$scriptname?lastId=$newId">Next</a>~;
}
I haven't tested these codes, but hope they will give you an idea on what to do.
Best regards,
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32" |