komisch: While Schleife in Variable speichern

Hallo

Ich habe eine while Schleife, darin werden Einträge auf einer Seite dargestellt, bis die while Schleife false zurückgibt.
Meinen PHP Code habe ich natürlich oben in der Seite geschrieben, die Einträge sollen aber an einer bestimmten Stelle mitten auf der HTML Seite angezeigt werden.

Wie kann ich eine While Schleife in eine Variable speichern, so dass ich die Variable dann z.b. weiter unten in einer Tabelle ausgeben kann?

Denn so wie jetzt gibt er die Einträge ganz oben auf der Seite aus und verschiebt natürlich meine ganze HTML Seite.

Danke

  1. Hallo,

    dazu gäbe es mehrere Varianten.

    1. String-Variable
      Anstatt mit echo die Daten direkt auszugeben, legst du vor der Schleife mit
      $daten = "";
      eine neue Variable an und fügst an die Variable immer hinten die neuen Daten an:
      $daten .= <hier das was bei echo als Parameter steht>;
      Da wo die Daten dann wirklich stehen sollen schreibst du nun die Variable raus:
      echo $daten;

    -> siehe Zuweisungsoperatoren

    1. Funktion:
      Du packst deine Schleife in eine Funktion, die du dann zu einem geeigneten Zeitpunkt aufrufst. Hat auch den Vorteil der Wiederverwendbarkeit, man kann die Funktion auch in eine andere Datei auslagern um sie zwischen mehreren Skripten zu teilen etc.

    MfG
    Rouven

    --
    -------------------
    Death is nature's way of telling you to slow down.
    1. Könntest du mir bitte eine Funktion zeigen, wie man solch eine erstellt und an einer anderen Stelle aufruft?

      Darin sollte ein while Schleife sein mit einer echon Anweisung

      Danke wäre echt super

      Denn im PHP Manual steht zwar die Funktionsbeschreibung aber damit komme ich nicht klar

      1. Hallo komisch,

        Darin sollte ein while Schleife sein mit einer echon Anweisung

        echo oder print haben einer Funktion nichts zu suchen, idealerweise sollte eine Funktion einen Wert zuruckgeben, den man dann printen kann

        Danke wäre echt super

        Es waere auch super, wenn du zeigen wuerdest, dass du es zumindest versucht hast, idealerweise mit einem Beispiel des nicht funktionierenden Codes

        Ich wuerde dir dennoch zu der Loesung raten, die ich dir zuerst gepostet habe. Wenn du damit schon Probleme hast, ist eine Funktion im Moment einfach noch eine Nummer zu gross fuer dich.

        Gruß,

        Dieter

  2. Hallo komisch,

    Du deklarierst vor der Schleife eine Variable, die du in der Schleife nach und nach befuellst.

    Bisher sieht das bei dir vermutlich so aus:
    while (bedingung) {
      echo string;
    }

    In Zukunft sollte das so aussehen:
    $mein_string = '';
    while(bedingung) {
      $mein_string .= string;
    }

    Und im HTML an entsprechender Stelle:
    <?php
      print $mein_string;
    ?>

    Gruß,

    Dieter