Hi,
Der Rest ist aber doch in beiden Fällen gleich. Oder nicht?
Nicht ganz, auf der ersten Seite ist z.B. auch die Adresse von dem jeweiligen User, der die Daten anfordert. Diese möchte ich nicht auch noch auf der zweiten Seite haben, du siehst also, auch wenn es später etwas aufwendiger ist zu pflegen bin ich flexibler wenn ich jede Page komplett habe.
ja, okay. Das sind aber alles Dinge, die du am Anfang schon hättest erwähnen sollen, da sie eine "einfache", sprich: streng systematische Lösung schwerer machen.
Warum tust du dich mit diesem Denkansatz so schwer? Wo liegt konkret das Verständnisproblem?
Ich habe irgendwie Grundsätzlich Probleme mit Schleifen und hier kommen gleich mehrere mit ins Spiel. Jetzt sind wir ja erst bei der ersten, an die foreach die für die Datensätze später zuständig ist, möchte ich noch gar nicht denken :/
Okay. Die ganz normale Diskrepanz zwischen Programmierern und normalen Menschen. ;-)
Bin ich da auf der richtigen Richtung?
Der Ansatz sieht gut aus; ich streue nur mal hier und da noch einen Kommentar ein.
<page backtop="1%" backbottom="2%" backleft="5%" backright="5%"> <page_footer style="text-align:center; line-height:14px; font-size:10px; height:300px;"> <?php echo nl2br(htmlspecialchars($test));?> </page_footer> Hier kommt die erste Tabelle rein mit 4 Einträgen // Genauer: Mit höchstens 4 Einträgen, es können auch weniger sein. </page> <?php // Warum 4 - Weil die ersten 4 Jahr in der ersten Page bereits abgearbeitet sind? $i = 4; // Kann man machen, ist aber nicht elegant. // Besser: Setze $i ganz zu Anfang der ersten Seite auf 0, und erhöhe in jedem // Durchlauf der foreach-Schleife um 1 (i++). while($i < 6) // Warum $i<6? { echo "<page pageset=\"old\"></page>"; $i = $i += 4 ; // Siehe oben: Lieber einmal pro Schleifendurchlauf erhöhen. } ?>
Die Zeile $i = $i += 4; ist übrigens Unsinn. Sie funktioniert und liefert das, was du meinst, ist aber dennoch Unfug. Denn $i += 4; bedeutet schon: Nimm den aktuellen Wert von $i, zähle 4 dazu und schreibe ihn wieder nach $i zurück. Wenn du das nochmal in eine Zuweisung schreibst, also $i = ($i += 4); (die Klammern habe ich zur Verdeutlichung gesetzt), dann heißt das: Nimm den aktuellen Wert von $i, erhöhe ihn um 4, schreibe das Ergebnis wieder zurück, und dann weise das Ergebnis auch noch der Variablen $i zu. Du siehst, der letzte Schritt ist unnötig.
Wenn ich dieses ausführe, erhalte ich 2 Seiten, was eigentlich richtig ist?
Ja.
Wenn ich while($i < 6) in while($i < 12) ändere, erhalte ich 3 Seiten, scheint also richtig zu funktionieren!
Vermutlich, aber ich erkenne nicht, wie du dann die Grenze zwischen Seite 2 und 3 machst.
Sorry wenn ich vielleicht nerve, ...
Keine Sorge. Genervt bin ich höchstens, wenn ich nach zwei- oder dreimaligem Erklären den Eindruck bekomme, dass mein Gegenüber sich nicht einmal bemüht, mir zu folgen und mitzudenken. Den Eindruck habe ich aber bei dir nicht.
aber ich will es einfach verstehen und lernen.
Genau das ist für mich auch Motivation, dranzubleiben. Mir ist völlig klar, dass viele sich mit der trockenen technischen Materie schwer tun (auch wenn ich das manchmal vergesse), und dass manche etwas länger brauchen, bis sie es verstanden haben. Vielleicht auch andere Erklärungs-Ansätze brauchen, als ich es sonst gewöhnt bin. Insofern sind wir dat auf einem guten Weg, glaube ich.
Schönes Wochenende,
Martin