Grüssi!
$vorherige = $zps - $vorherige;
Sollte das nicht $vorherige = $eintrag - $zps heissen? Du solltest auch noch sicherheitshalber eine if-Abfrage einbauen, damit du sicherstellst dass $vorherige nicht negativ wird!
Lass dir die Werte von $vorherige, $naechste und $eintrag einfach mal auf jeder Seite irgendwo am Bildschirm ausgeben, und dann vergleiche, so kommst du wahrscheinlich ziemlich schnell auf eine Lösung!
if ($vorherige < 0) {$vorherige = 0; } // oder halt der Wert bei dem der Index startet!
lg bernhard