@ - Christoph - "loop"-Tag und Perl - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Claus Christmeier (598 Beiträge) am Mittwoch, 31.Januar.2001, 11:15.
    @ - Christoph - "loop"-Tag und Perl

      Hallo Christoph,

      wie kann ich aufgrund einer "Perl"-Abfrage den "loop"-Tag einsetzen?

      Beispiel:

      <perl>
      if ($aktiv eq "N")
        {
         out "Programm z.Zt. nicht aktiv
        }
      else
        {
         <loop ....>
         ....
         ....
         </loop>
        }
      

      So ist die Aufgabenstellung. Das es jedoch so nicht funktioniert, ist mir klar.

      Wie muss man es machen, dass es richtig funktionier?
      Gibt es überhaupt eine Möglichkeit?

      Gruß
      Claus


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Claus Christmeier (598 Beiträge) am Mittwoch, 31.Januar.2001, 11:15.
    @ - Christoph - "loop"-Tag und Perl

      Hallo Christoph,

      wie kann ich aufgrund einer "Perl"-Abfrage den "loop"-Tag einsetzen?

      Beispiel:

      <perl>
      if ($aktiv eq "N")
        {
         out "Programm z.Zt. nicht aktiv
        }
      else
        {
         <loop ....>
         ....
         ....
         </loop>
        }
      

      So ist die Aufgabenstellung. Das es jedoch so nicht funktioniert, ist mir klar.

      Wie muss man es machen, dass es richtig funktionier?
      Gibt es überhaupt eine Möglichkeit?

      Gruß
      Claus

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 31.Januar.2001, 14:39.
    Re: @ - Christoph - "loop"-Tag und Perl

      Mmh, müsste relativ einfach mit:

      get "...";
      while(get_next)
      {
      
      ...
      }

      gehen...

     Antworten

    Beitrag von Andreas (396 Beiträge) am Mittwoch, 31.Januar.2001, 16:04.
    jaaa, aber [war: @ - Christoph - "loop"-Tag und Perl]

      Hallo Christoph,

      schön und gut, aber mit <loop> kann ich noch so schöne Sachen machen wie dir Steuerung der Ausgabereihenfolge nach _mehreren_ Parametern. Das hätte ich natürlich noch gern.

      Gruß, Andreas

      P.S.: Wie sieht es eigentlich mit <include> innerhalb von Perl aus?

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 1.Februar.2001, 12:53.
    Re: jaaa, aber... stimmt schon ;-)

      Ja, Du hast natürlich recht, da sind gewisse Unterschiede (obwohl ich das mit den _mehreren_ Parametern nich ganz verstehe) - es gibt auch tatsächlich einen Befehl "loop" - aber ist leider auch noch nich freigegeben, weils da noch "Design"-Probleme gibt (welche Parameter wie übergeben)...

      "include" dürfte schwierig werden, weil: Was soll das genau machen? Die Datei an genau der Stelle einfügen? Das wird mit HTML-Code schlecht gehen... Mmh, es sei denn man würden den ausgeben und die bp-Tags entsprechend ausführen... Mmhhhh...

      Frage zurück: Wie hättets Ihr denn gerne?

     Antworten

    Beitrag von Andreas (396 Beiträge) am Donnerstag, 1.Februar.2001, 13:06.
    Sortierung [war: jaaa, aber... stimmt schon ;-)]

      Hallo Christoph,

      ich meine einfach <loop sort=Feld1,-Feld2,Feld3>.
      Das kriege ich per get nicht so schön hin.
      Und mit <include> meine ich es genau so, wie ich außerhalb von Perl-Code ein include einfüge, um ein anderes Template einzubinden.

      Gruß, Andreas

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 1.Februar.2001, 13:30.
    Re: Sortierung [war: jaaa, aber... stimmt schon ;-)]

      Doch das geht schon, auch so bequem:

      get "sort=Feld1,-Feld2,Feld3"; while(get_next) { ... }
      

      Zum include: Jaja, aber was sagst Du dazu:

      Datei1:

      <h1>Titel</h1>
      <perl>out $x*7</perl>
      <b>und weiterer Text</b>
      

      Datei2:

      <h1>Diese Datei wird aufgerufen</h1>
      <perl>
      $x=3;
      out "Hier kommt jetzt das include:";
      include "Datei1";
      out "Was da wohl rauskommt?";
      </perl>
      <b>Grosses Fragezeichen... ;-)  </b>
      


      Dürfte zu einer Fehlermeldung führen...

     Antworten

    Beitrag von Andreas (396 Beiträge) am Donnerstag, 1.Februar.2001, 13:34.
    Re: Sortierung [war: jaaa, aber... stimmt schon ;-)]

      Hallo Christoph,

      ad 1: wußte nicht, daß das so tut.

      ad 2: eben :-(

      Gruß, Andreas

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Donnerstag, 1.Februar.2001, 13:47.
    Re: jaaa, aber... stimmt schon ;-)

      Hallo Christoph,

      meine Antwort ist:

      da <perl></perl><include><perl></perl> ja jetzt schon geht, dass der "baseportal.pl" innerhalb "<perl>-Tags die "<includes> und <loop>" so erkennt, als würde man es selber so schreiben wie oben, denn ich könnte mir vorstellen, dass es innerhalb einer "if"-Schleife oder so zu Problemen kommen wird, wenn man "perl" kurzfristig "ausschaltet".

      Gruß
      Claus

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 1.Februar.2001, 20:45.
    Re:alles nich so einfach...

      Nee, geht auch nicht weil, was passiert dann hier:

      <perl>
      out "Ein <include src=bla>-Befehl funktioniert so:";
      </perl>
      

      --> soll natürlich _nicht_ ausgeführt werden - würde aber vom bp-Parser erkannt und ersetzt werden...

      Im Übrigen finde ich nicht, dass sowas:

      <perl>
      $x=3;
      <loop>
      Name: $Name
      </loop>
      out "bla";
      </perl>
      

      gut aussieht - Perl gemixt mit Tags, tststs...

      Nein, die Lösung sind schon eigene Befehle, beim loop-Tag gibts den ja schon aber aber - noch nicht fertig designed, sorry...

      Beim "include" hab ich oben ja schon geschrieben wo ich das Problem sehe: Selbst wenn es einen "include"-Befehl gäbe - wie soll der denn Tags gemischt mit Perl-Befehlen includen??

      Dazu meine Frage: Habt Ihr ne Idee?

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Donnerstag, 1.Februar.2001, 22:54.
    Re: Re:alles nich so einfach...

      Hallo Christoph,

      statt

      <perl>
      out "Ein <include src=bla>-Befehl funktioniert so:";
      </perl>
      

      schreibt man halt einfach

      <perl>
      out "Ein \<include src=bla\>-Befehl funktioniert so:";
      </perl>
      


      Wenn Dich der MIX stört, dann erfinde halt soetwas wie

      loop EOF;
      ...
      ...
      EOF
      


      Derjenige, der einen "include" verwendet, muss doch wissen, ob in der Datei "Tags" oder "perl-Code" steht und wenn er´s falsch macht, dann bekommt er ja sowieso eine Fehlermeldung!!!

      Gruß
      Claus

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 2.Februar.2001, 19:30.
    Re: Re:alles nich so einfach...

      ja, der loop-Befehl existiert schon, sieht so aus:

      loop $result, sub
      {
      
      ...
      }

      sieht ein bisschen komisch aus mit dem sub, aber das ist von perl aus so... wg. dem include muss ich mal sehen, ich denke das lässt sich schon irgendwie lösen...

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Freitag, 2.Februar.2001, 19:58.
    Re: Re:alles nich so einfach...

      Hallo Christoph,

      könntest Du "$result" bitte etwas näher erklären?

      Was ist mit "sort^=" "db=" usw.?

      Das "sub" steht wohl für Subroutinen-Aufruf? Was ist den der Unterschied zum &subroutine?

      Gruß
      Claus

     Antworten

    Beitrag von Michael H. Heng (31 Beiträge) am Dienstag, 6.Februar.2001, 00:10.
    Re: Re:alles nich so einfach...

      Du schreibst: "Existiert schon", ist aber noch nicht freigegeben? Wenn doch, wie sieht denn die genaue Syntax aus?

      Der Perl-Loop-Befehl wäre für mich momentan die Rettung, um meine mühsam selbst zusammengebastelte Tabellenausgabe zusammen mit dem "Passwortschutz mit Nutzerdatenbank" aus der Bibliothek benutzen zu können... ;-) (siehe auch die Ursprungsmail von Claus: Ausführung einer Loop-Schleife unter einer in Perl codierten Bedingung...)

      Mit "get" und "get_next" funktioniert das nicht so, wie ich das möchte - jedenfall kann ich bei diesen Befehlen kein "range" angeben?!?

      Gruß, Michael.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 6.Februar.2001, 02:03.
    Re: Re:alles nich so einfach...

      Naja, die Syntax habe ich oben ja schon erklärt, aber nützt Euch ja nichts, weil Ihr das eh nicht nutzen könnt, weil noch nicht freigeben...

      Doch, mit "get/get_next" kann man wirklich ein loop nachbauen... "range" geht genauso, z.b. so:

      get "Name==Peter range=20,10";
      

     Antworten

    Beitrag von Michael H. Heng (31 Beiträge) am Dienstag, 6.Februar.2001, 13:20.
    Re: Re:alles nich so einfach...

      Du hast Recht, das:

      get "Name==Peter range=20,10";
      

      funktioniert - aber leider nicht das:

      get "Name==Peter range^=20,10";
      

      Eine Ersetzung per URL findet dann nicht statt - für die Navigation wäre das schon wichtig; oder ich stelle mich einfach nur blöde an ;-)

      Gruß, Michael.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 6.Februar.2001, 13:48.
    Re: Re:alles nich so einfach...

      ??? Mhh, also eigentlich bedeutet das ^ ja, dass nur ersetzt wird, wenn kein range in der URL drin ist - das müsste so auch gehen!

      Wenn nicht, mach doch folgendes:

      $_get{range}||="20,10";
      get...
      

      (Hoffe das klappt, nicht getestet)

     Antworten

    Beitrag von Michael H. Heng (31 Beiträge) am Dienstag, 6.Februar.2001, 16:32.
    Re: Re:alles nich so einfach...

      Geht definitiv nicht, habe mir jetzt ein Workaround mit Variablen gebastelt:

      get "Name==Peter range=$range_start,$range_step";
      

      und setze zuvor die Variablen entsprechend. Funzt...

      Dank Dir für die Hilfe. Aber noch eine andere Frage: Gibt es die Möglichkeit, die Übergabe-Parameter von do_all "listtype=search" zu beeinflussen? Speziell auch hier: range? Wenn range gesetzt ist, dann werden diese Werte übergeben, wenn range nicht gesetzt wird, offensichtlich default &range=0,20. Problem: Ausgabe befindet sich auf Seite 4 mit jeweils 5 Datensätzen. Range ist hier &range=15,5. Wenn ich an dieser Stelle eine Suche starte, die nur 3 Datensätze als Ergebnis bringt, wird als Parameter immer noch "&range=15,5" mitgegeben, was die Navigation durcheinander bringt. Sinnvoll wäre es, bei der Durchführung einer Suche den Anfangsparameter von "range" auf 0 setzen zu können.

      Hab ich mich einigermaßen verständlich ausgedrückt? ;-)

      Gruß, Michael.

     Antworten


     
 Liste der Einträge von 65550 bis 65700:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.15s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!