verona: Seitenwechsel programmieren...

Beitrag lesen

Hab's geschafft.

Hier kommen die ersten Kopfdaten hin.

//Ausgelagerte Funktion, welche Daten aus der mySQL Tabelle liest. Mit BETWEEN oder LIKE
$myarray=function($anfang,$ende);

//Maximale Anzahl an Zeilen pro Seite. Ist in Abhängigkeit vom der Höhe des spacer.gif
$maxZeilen=25;

//Ist die Anzahl an Datensätzen größer als die maximalen Zeilen je Seite, wird die Anzahl
//benötigter Seiten errechnet, ansonsten wird nur eine Seite gebraucht
$maxSeiten = (count($myarray) > $maxZeilen) ? ceil(count($myarray) / $maxZeilen) : 1;

//Schleife, die die aktuelle Seite zählt
for ($seite=1;$seite<=$maxSeiten;$seite++)
{

//Kompliziert?! :-) Versucht mal durchzusteigen
  for ($i= count($myarray) - (($maxSeiten - $seite + 1) * $maxZeilen) + (($maxSeiten * $maxZeilen) - count($myarray));$i < $seite * $maxZeilen;$i++)
  {
    $zeile=$i+1;
    echo "<tr>\n";
    echo "<td><img src="images/spacer.gif" width="5" height="20" alt=""/></td>";
    echo "<td>" . $zeile . "</td>\n";
    echo "</tr>\n";

//Stellt fest, ob die erste Seite voll ist und ergänzt dann die Seitenzahlen und
    //hängt dann die Kopfdaten an
    if ($i == $seite * $maxZeilen - 1 && $i != $maxSeiten * $maxZeilen -1)
    {
      echo "<tr>\n";
      echo "<td><img src="images/spacer.gif" width="2" height="40" alt=""/></td>\n";
      echo "<td>Seite $seite von $maxSeiten</td>\n";
      echo "</tr>\n";

// Platz für Kopfdaten

echo "<tr>\n";
      echo "<th><img src="images/spacer.gif" width="5" height="20" alt=""/></th>\n";
      echo "<th>Zeile</th>\n";
      echo "</tr>\n";
    }

//Stellt fest, ob die letzte Seite erreicht wurde und gibt dann die Seitenzahl aus
    elseif ($i == $maxSeiten * $maxZeilen -1)
    {
      echo "<tr>\n";
      echo "<td><img src="images/spacer.gif" width="2" height="40" alt=""/></td>\n";
      echo "<td>Seite $seite von $maxSeiten</td>\n";
      echo "</tr>\n";
    }
  }
}