Re: Fehlerbereinigung Re: @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erstellen - 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 Oliver ;-) (500 Beiträge) am Donnerstag, 7.April.2005, 11:46.
    Re: Fehlerbereinigung Re: @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erstellen

      Hallo Ruben,

      danke, so funktioniert es. Nur ein kleiner Fehler ist drin: @liste einheitlich groß oder klein schreiben.

      Grüße
      Oliver ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 5.April.2005, 13:55.
    @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erstellen

      Hallo Zusammen,

      für Perl-Freaks sicher eine der leichtesten Übungen:

      Ich möchte aus dem Inhalt des Datenbankfeldes "$Liste" ein Drop-Down-Menü erstellen.

      Aus

      $Liste="Obst, Gemüse, Fleisch, Backwaren";
      

      soll

      <select...>
      <option>Obst
      <option>Gemüse
      <option>Fleisch
      <option>Backwaren</option>
      </select>
      

      werden.

      Kann mir jemand die Lösung nennen? Danke

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 5.April.2005, 15:25.
    Re: @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erstellen

      Hallo, Oliver, schön dich auch wieder mal zu sehen!
      Hier ein Link, wo das aus ner DB-Feld gemacht wird (ist zugegeben ziemlich komplex weil universell, aber vielleicht kannstes ja irgendwie verstehen und gebrauchen..)
      http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=11330.05
      und aus ner Liste einfach so:

      <perl>
      

      @Liste="Obst, Gemüse, Fleisch, Backwaren";
      foreach my $opt(@Liste){
      $a_options .= "<option value='$opt'>$opt</option>";
      }
      out<<EOF;
      <select...>
      $a_options
      </select>
      </perl>
      

      Das ist alles, also ich denke mal kein Problem ;-)

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 5.April.2005, 15:48.
    Re: @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erstellen

      Hallo hempelr,

      ich find's auch schön, mal wieder hier reinzusehen. Bei größer werdender Community, Verein und Familie fehlt mir irgendwie die Zeit häufiger hier reinzuschauen...

      Dein Code mit der Liste funktioniert irgendwie nicht. Ich hab es mal nachgebaut, aber "Obst, Gemüse..." werden nicht in vier Optionen aufgeteilt. Es erscheint einfach (inclusiv Komma) als eine Option.

      Das Beispiel bei dem anderen Forumsbeitrag ist doch etwas zu umfangreich für meine "Herausforderung". Ich will ja keine doppelten Einträge herausfiltern.

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von markus (1013 Beiträge) am Dienstag, 5.April.2005, 16:08.
    Re: @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erstellen

      hi,

      bei mir klappt das ungefähr so:

      <form ......
      EOF
      

      get "Angebot==*", "datenbank", "erghash";
      while(get_next("erghash")) {
      $opAngebot{$Angebot}++
      }
       foreach my $opAngebot(sort keys %opAngebot){
      # $a_opAngebot .= $opAngebot eq $fangebot ? "<option selected value=$opAngebot>$opAngebot" : "<option value=$opAngebot>$opAngebot";
      $a_opAngebot .= "<option value=$opAngebot>$opAngebot";
      }
      my $sl = "selected" if $fangebot eq "";  
      out<<EOF;
      <b>Bitte wählen Sie:</b>
      <select name="fangebot=">
      <option $sl value='*'>Alle
      $a_opAngebot
      </select>
      <input type="submit" value="suchen">
      </form>
      
      -------------------------------------
      ausgabeseite mit loop:
      <loop db=datenbank sort=Angebot Angebot==$fangebot>
      

      gruß
      markus

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 5.April.2005, 15:47.
    Fehlerbereinigung Re: @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erstellen

      sorry, war zu schnell mit den Fingern |)
      Liste direkt hart im Template eingeben so:
      @Liste = ("Obst", "Gemüse", "Fleisch", "Backwaren");
      

      aus nem Textfeld oder ner "normalen" Textvariablen der von dir vorgegeben Form:
      ---
      $Liste="Obst, Gemüse, Fleisch, Backwaren";
      @liste = split /,/, $Liste; # am Komma Trennen und in Array einlesen
      
      ---
      jetzt ist aber noch ein Leerzeichen an jedem Listenwert ab dem zweiten vorn dran, das entweder gleich bei der Wertzuweisung beachten oder einfach noch in die foreach-Schleife eine regex rein:
      ---
      foreach my $opt(@Liste){
      $opt =~ s/^\s//; # Leerzeichen am Anfang des Optionwertes aus der Liste abschneiden
      $a_options .= "<option value='$opt'>$opt</option>";
      }
      
      ---
      so, hoffe nun ist kein Schwein mehr drin ;-)
      Ruben

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 7.April.2005, 11:46.
    Re: Fehlerbereinigung Re: @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erstellen

      Hallo Ruben,

      danke, so funktioniert es. Nur ein kleiner Fehler ist drin: @liste einheitlich groß oder klein schreiben.

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 7.April.2005, 18:06.
    Re: Fehlerbereinigung Re: @perl-Freaks - Aus Feldinhalt ein Drop-Down-Menü erste

      hihi - war mir ja klar, dass da wieder ein schweinchen drin ist...aber du hast es ja gemerkt, schön dass es dir geholfen hat.
      Viele Grüße
      Ruben

     Antworten


     
 Liste der Einträge von 24901 bis 25051: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.09s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!