templates und schleife

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • templates und schleife

    also ich habe hier ne kleine template-klasse.
    Die funktioniert soweit eigentlich ganz gut, nur hab ich absolut keinen plan, wie ich da ne schleife einbauen soll...
    das ganze sieht so aus: Ich lasse alle datensätze aus einer tabelle auslesen und möchte nun mit einer while-schleife, dass nur die ersten 10 davon angezeigt werden.(soll ein news- system werden)
    PHP-Code:
    <?php
    //Klasse zum Parsen von HTML Templates
    //Lite Version

    //20.03.2003 Nils 'Jonathan' Hitze LV1.3
    Class parser
    {
    var 
    $template;
    var 
    $temp_content;

    function 
    parser($template$var_array)
    {
    $this->template $template;
    $this->temp_content file($this->template);
    $parsed $this->rplc($var_array);
    echo(
    implode(""$this->temp_content));
    }

    function 
    rplc($var_array)
    {
    foreach(
    $var_array as $key => $value)
    {
    //$regex[var_name] : {VARIABLE}
    $regex['var_name'] = "#{[[:space:]]*?(".strtoupper($key)."){1,}?[[:space:]]*?}#si";
    $this->temp_content preg_replace($regex['var_name'], $value$this->temp_content);
    }
    }
    }
    ?>
    das ist die template klasse
    und die ausgabe soll mit {news} oder so ähnlich erfolgen.
    also kurzfassung: ich brauch hilfe da ne schleife einzubauen...

  • #2
    das ganze sieht so aus: Ich lasse alle datensätze aus einer tabelle auslesen und möchte nun mit einer while-schleife, dass nur die ersten 10 davon angezeigt werden.(soll ein news- system werden)
    Warum liest du dann alle aus???

    entweder

    PHP-Code:
    $i 0;
    while(
    $i 10)
      
    $i++; 
    oder aber lieber mit ner for-schleife.

    BTW:Was hat das ganze mit deiner TPL-Klasse zu tun?

    Kommentar


    • #3
      Wenn ich dich richtig verstehe, willst du deinem Template auf irgendeine Weise klarmachen an welcher Stelle es sich wiederholen soll, je nach dem wieviele Datensätze angezeigt werden sollen, oder??

      ich hab mir dazu was gebastelt das das Template anhand von 2 Kommentaren (<!--begin--> und <!--end--> im Template in 3 Teile zerlegt, der Teil zwischen den Kommentaren wird dann in der Schleife jedesmal neu geparst und an die Ausgabe angehängt.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        besser wären zwei teile:

        1 hauptteil
        1 block

        Kommentar


        • #5
          2 Teile??

          also ich hab das bei mir so gemacht:

          1 x Anfang der Html-Datei
          1 x Block der ersetzt und im Bedarfsfall beliebig oft wiederholt wird
          1 x Ende der Html-Datei

          Wie gesagt, durch <!--begin--> und <!--end--> wird der Block vom Anfang und Ende abgetrennt.

          wie funktioniert das mit 2 Teilen??
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            ^^ danke dass ihr alle geantwortet habt, aber ich bin auf dem gebiet noch ein ziemlicher neuling, da ich erst vor ein paar tagen erfahren hab, dass ich getrennt mit der designerin arbeiten muss, hab ich mich eben mal versucht schlau zu machen...aber ganz so schlau bin ich doch noch nicht geworden ^^
            @quetschi du hast genau verstanden, was ich suche, --> kannst du dich mal im icq bzw hier melden?´wäre sehr nett...also wie gehabt in der html-seite soll nur der platzhalter {news} stehen und das soll dann eben durch die schleife ersetzt werden....

            Kommentar


            • #7
              wie funktioniert das mit 2 Teilen??
              so wie die meisten tpl-classes.

              block wird rausgeschnitten und platzhalter eingefügt. der wird dann nachher x mal durch den block ersetzt.

              Kommentar


              • #8
                @schnidelwutz gib mal deine icq nummer dann schreib ich dich an und wir können ein bisschen reden.

                mfg olli

                Kommentar

                Lädt...
                X