Furby: CGI/PERL: Liste ausgeben in Browser

Tach!

Ich habe n (sagen wa mal 6) Datensatz paare a 12 Stück.

In meinem Browser definiere ich für jedes der 12
einen Platzhalter.<H1>{Posteingang}<BR>...<h2>{Postausgang}...
Nun soll die HTML Seite n Mal (Also 6X) ausgegeben
werden,
wie kann ich das geschickt anstellen?

Danke Leute!
Furby

----- Sometimes I dream of Furby ------

  1. Hi,

    wie kann ich das geschickt anstellen?

    Also, wenn ich dich richtig verstanden habe (was allerdings ein
    wenig schwierig ist, bei deinem Schreibstil *g*) moechtest du die
    Ausgabe eines Scripts verdoppeln. Wenn ja, wie waere es mit einer
    for-Schleife? ,)

    for($i=1;$i<=2;$i++)
    {

    Mach die Ausgabe...

    }

    mfg
    CK1

    1. for($i=1;$i<=2;$i++)

      »»  {
      »»  # Mach die Ausgabe...
      »»  }

      Tach Calvin (ck1),
      niet!

      Also, ich habe 6 X 12 Datensätze:   mail1, mail2, mail3, mail4 .....72

      jeder datensatz besteht aus 12 verschiedenen daten.

      DIE HTML_DATEI:
      {platzhalter1}
      {platzh.2}
      {platzh.3}
      ... 12

      dann kommen die nächsten 12 verschiedenen daten; es sollen die gleichen platzhalter verwendet
      werden, aber wieder vom beginning an, klar?

      Also:

      {platzhalter1}  <-- mail1
      ... 12              <- mail12

      {platzhalter1} <-<mail 13
      ....

      grass nett von euch, dass ihr mir helfen tut.

      versteht‚s mich nun besser :-)

      Furby

      --sometimes i dream of FURBY--

      1. Hi,

        Tach Calvin (ck1),

        CK1 steht fuer meinen Real-Namen, also Christian Kruse ,) ich habe
        NICHTS mit Calvin Klein gemeinsam (leider, das Geld koennt er mir
        schon geben *g*)

        versteht‚s mich nun besser :-)

        Nein, nicht wirklich... sorry, aber irgendwie hast du eine seltsame
        Art, dich auszudruecken ,)

        Aber ich versuchs mal, vielleicht hab ichs ja richtig verstanden:

        dann kommen die nächsten 12 verschiedenen daten; es sollen die
        gleichen platzhalter verwendet werden, aber wieder vom beginning
        an, klar?

        Du moechtest also einfach nur den Teil der HTML-Datei, an dem
        die Platzhalter stehen, immer wieder ausgeben? Nur statt der
        Platzhalter die Datenfelder in den Datensaetzen?

        Und die Datensaetze sind so aufgebaut:

        [Datensatz1]
        feld1
        feld2
        feld3
        feld4
        feld5
        feld5

        Und du hast davon 72 Stueck? Wenn das stimmt, dann kannst du das so
        machen:

        open(DAT,"<html.htm");
        @geruesst = <DAT>;
        close(DAT);

        Die Datensaetze wuerde ich in folgender Weise anlegen:

        @Datensatzx = (            # x Steht fuer eine Zahl zw. 1..72
        Feld1,
        Feld2,
        Feld3,
        Feld4,
        Feld5,
        Feld6);

        @datensaetze = (@Datensatz1, @Datensatz2, ..., @Datensatz72);

        for ($i=0;$i<=72;$i++)
        {
        for($j=0;$j<=6;$j++)
          {
          print $geruesst[$j];
          print $datensaetze[$i][$j];
          }
        }

        $j ist nach jedem Durchlauf wieder 0 und deshalb wird die HTML-Datei
        immer wieder von vorne an ausgegeben.

        mfg
        CK1 (== Christian Kruse)

        P. S.: das naechste mal bitte etwas deutlicher *g*

        1. CK1 steht fuer meinen Real-Namen, also Christian Kruse ,) ich habe
          NICHTS mit Calvin Klein gemeinsam (leider, das Geld koennt er mir
          schon geben *g*)

          tja, cole [:-)] is net alles

          dann kommen die nächsten 12 verschiedenen daten; es sollen die
          gleichen platzhalter verwendet werden, aber wieder vom beginning
          an, klar?

          Du moechtest also einfach nur den Teil der HTML-Datei, an dem
          die Platzhalter stehen, immer wieder ausgeben? Nur statt der
          Platzhalter die Datenfelder in den Datensaetzen?

          PROBLEM ERKANNT: NEIN GENAU DAS NICHT!
          Ich will diesen part n mal wiederhohlen, (das ersetzten) des original textes

          GRACIE!!!!

          Furby

          P.S.: Was weisst du eigentlich nicht?

          1. Hi,

            tja, cole [:-)] is net alles

            PROBLEM ERKANNT: NEIN GENAU DAS NICHT!
            Ich will diesen part n mal wiederhohlen, (das ersetzten) des
            original textes

            Naja, das geht auch so aehnlich, nur leicht modifiziert. Ich gehe mal
            davon aus, dass die Platzhalter untereinander stehen.

            zunaechst: wo ist der erste Platzhalter?

            for($i=0;$i<=$#geruesst;$i++)
            {
            break if index($geruesst[$i],"<!-- PLATZHALTER1 -->") <> -1;
            }

            my $stelle = $i;

            for ($i=0;$i<=72;$i++)
            {
            for($j=0;$j<=6;$j++)
              {
              print $geruesst[$stelle + $j];
              print $datensaetze[$i][$j];
              }
            }

            Wenn sie nicht untereinander stehen, musst du halt mit jedem
            Schleifen-Durchlauf das gesamte Geruesst durchgehen und die Stellen
            ausgeben, wo Platzhalter stehen:

            @platzhalter = ("<!-- PLATZHALTER1 -->","<!-- PLATZHALTER2 -->",...);

            for ($i=0;$i<=72;$i++)
            {
            for($j=0;$j<=6;$j++)
              {
              foreach (@geruesst)
               {
               foreach $platz (@platzhalter)
                {
                print $_ if index($_, $platz) <> -1;
                }
               }

            print $datensaetze[$i][$j];
              }
            }

            Das gibt immer genau die Teile wieder aus, in dem die Platzhalter
            stehen.

            mfg
            CK1

            P. S.: *g* das Programm wird ziehmlich verschachtelt...

            1. Tach CK1
              P. S.: *g* das Programm wird ziehmlich verschachtelt...

              Tja und die ist nur ein Element der Pyramide von Mykerinos....

              GRACIE!!!!!

              -MAY THE FURBY WITH YOU!-

              1. HALLO CK1!!!
                Wie printe die TEILE vor/nach  den Elementen aus?
                Gibt das Programm auch die HTML-TAGS um die Elemente aus??????????
                Wenn nein wie mach ich das denn dann?
                WAS WEIST DU NEICHT???

                FURBY

                1. Hi,

                  Wie printe die TEILE vor/nach  den Elementen aus?

                  Na, du hast doch den Array mit dem Inhalt. Gib doch einfach vorher
                  alle Elemente aus, bis du auf ein <!-- Platzhalter1 --> triffst.
                  Dann stoppen.

                  Gibt das Programm auch die HTML-TAGS um die Elemente aus??????????
                  Wenn nein wie mach ich das denn dann?

                  Nein, noch nicht, da musst du statt

                  foreach $platz (@platzhalter)
                  {
                  print $_ if index($_, $platz) <> -1;
                  }

                  $_ nach $platz durchsuchen und durch $datensaetze[$i][$j] ersetzen.

                  WAS WEIST DU NICHT???

                  Vieles, aber sowas ist keine Frage von wissen... du musst nur
                  nachdenken! Denk selber!

                  Oh man, mir geht es echt auf den Geist, wenn manche Leute nicht
                  selber nachdenken...

                  nichts fuer ungut,
                  CK1

                  1. Hi,

                    Danke, werd mir muehe geben...
                    letzte Sache, was bedeutet <> es funktioniert bei men
                    Machine nett!!!!

                    danke!

                    FURBY

                    »

                    »

                    1. hi!

                      Danke, werd mir muehe geben...
                      letzte Sache, was bedeutet <> es funktioniert bei men
                      Machine nett!!!!

                      Korrekt wäre !=. Bevor du das nächste mal eine Frage stellen möchtest, lies den CGI/Perl-Teil in SELFHTML
                      und die mitgelieferte Perl-Dokumentation (perldoc perl). Dieses Forum ist keine Antwortmaschine und
                      übrigens auch kein Chat-Ersatz, bei dem man im Minutentakt antwortet. Selbst nachdenken hat noch
                      niemandem geschadet, ebenso wenig wie eine verständliche Formulierung.

                      bye, Frank!

                  2. Hallo Christian!

                    Der Monat ist zwar noch nicht ganz rum, aber ich verleihe Dir trotzdem shon mal den "Preis fuer den geduldigsten Antworter des Monats". Beglueckwuenschen tue ich Dich aber nicht dazu. ;-|

                    So long

        2. Hi, CK1 = (Christian Kruse,

          vielleicht reicht das ja, dass ich nur die Datansätze
          anstelle der Platzhalter ausgebe, nur, wie
          gebe ich dann die Dinge, die vor, bzweise neben den platzhaltern stehen
          aus, und das was danach kommt?

          <TITLE>HALLO CK1></TITLE>
          Willkommen auf meiner Seite
          <H1>Hier steht der Petersdom: {Platz1}</H1>
          ..
          ..
          ..
          ..
          ..
          Das hieße ja, vor den Platzhalter 1X ausgeben,
          die Platzhalter ersetzten x-Mal ausgeben
          und das Ende 1X ausgeben,

          ach ja Atze (ausdruck für einen unbekannten ;-) ,

          wie?

          Dank Dir!!!!!

        3. Hallo CK1,

          Nein, nicht wirklich... sorry, aber irgendwie hast du eine seltsame Art, dich auszudruecken ,)

          Nett formuliert. Und blaeht den Thread leider nur auf. Ich habe eher den Eindruck, der weiss weder was HTML kann und was nicht, noch welche Scriptsprache zu was nutze ist. Du bietest ihm eine for-Schleife in Perl-Syntax an. Fein. Aber glaubst du, der weiss, was Perl und CGI ist? Vergiss es. Wer sich so ausdrueckt, hat kein Problem sich auszudruecken, sondern das Problem, nichts gelesen zu haben, was man sehr wohl lesen kann, aber irgendwas ganz Tolles machen zu wollen. Ich koennte jetzt anfangen, ueber JavaScript, dessen for-Schleifen, Arrays und document.write zu reden. Aber das bringt doch nichts. Da kann man sich hoechstens hinsetzen und ihm das fix und fertig programmieren und ihm dann noch sagen, wie er das Zeugs hier aus dem Browser ueber die Zwischenablage in den Editor kriegt. Aber das macht keinen Spass in so einem Fall, wirklich nicht.

          viele Gruesse
            Stefan Muenz

          1. Hi Stefan,

            Hallo CK1,

            welche Ehre, direkt angesprochen zu werden *g*

            Du bietest ihm eine for-Schleife in Perl-Syntax an. Fein. Aber
            glaubst du, der weiss, was Perl und CGI ist? Vergiss es.

            Sorry, aber nach der Überschrift zu ("(CGI) CGI/Perl: Liste ausgeben
            im Browser") dachte ich ehrlich gesagt eher, er weiß zwar nicht
            viel, aber er ist ein Anfänger...

            Wer sich so ausdrueckt, hat kein Problem sich auszudruecken,
            sondern das Problem, nichts gelesen zu haben, was man sehr wohl
            lesen kann, aber irgendwas ganz Tolles machen zu wollen.

            *g* ich hätts nicht besser ausdrücken können... nur ist die Frage,
            ob das hier wirklich zutrifft... ich muß ehrlich sagen, ich kenne
            einige Leute, die es "cool" finden, so zu "reden", bzw zu schreiben.

            Aber das macht keinen Spass in so einem Fall, wirklich nicht.

            Stimmt, sowas macht nie Spaß... nur muß es auch solche Leute geben,
            sonst hab ich keine Arbeit mehr *g*

            mfg
            CK1

            1. Hi Stefan,

              *g* ich hätts nicht besser ausdrücken können... nur ist die Frage,
              ob das hier wirklich zutrifft... ich muß ehrlich sagen, ich kenne
              einige Leute, die es "cool" finden, so zu "reden", bzw zu
              schreiben.

              tut mir leid, es TRIFFT zu...

              mfg
              CK1

  2. Ich habe n (sagen wa mal 6) Datensatz paare a 12 Stück.
    In meinem Browser definiere ich für jedes der 12
    einen Platzhalter.<H1>{Posteingang}<BR>...<h2>{Postausgang}...
    Nun soll die HTML Seite n Mal (Also 6X) ausgegeben
    werden,

    Wie CK1 habe ich nicht unerhebliche Probleme, den Sinn Deiner Frage zu erfassen.

    Deshalb unter Vorbehalt:
    Es klingt so, als solltest Du Dich mit dem Konzept von Funktionen und Parametern auseinandersetzen.
    Dann könntest Du eine Funktion schreiben, die einen Ausgabeblock erzeugt (ggf. abhängig von Parameterwerten) und diese dann <n> mal aufrufen (entweder in einer Schleife oder tatsächlich mit <n> hingeschriebenen Aufrufen, falls die Parameterwerte nicht generisch sind).