Re: Abfrage des Inhalts vom Feld "option" - 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 hempelr (1976 Beiträge) am Donnerstag, 24.Juli.2003, 10:28.
    Re: Abfrage des Inhalts vom Feld "option"

      Hallo, Thomas,
      wenn ich es richtig verstehe, willst du Kategorienweise sortiert die zugehörigen Datensätze ausgeben, richtig?
      Dann folgende Erklärung und dann die Code-Schnipsel (für Kategorien in einem Optionfeld der DB)
      1. Die Optionen holen und den Inhalt in eine Liste schreiben
      2. Die Liste Elementweise auslesen und für jedes Element die Datenbank durchgehen und dann die Inhalte ausgeben

      ----schnippels
       # Optionfeld holen
       #-- Code von Sander - Danke! --
       get "Field==!kategorie","spielzeug.fields", "feldbau";
       @l_art = split/\n/,$Params; #optionen rausdröseln
       shift @l_kategorie; #erstes element entfernen, beschreibung des felds
      
      ... irgendwas weiter
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # ein Optionfeld zur Ausgabe im Template mit diesem Inhalt kann wie folgt gebaut werden:
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
       $opt_kategorie = "<select name='input_kategorie='>";
       $opt_kategorie. = "<option value=''>Auswahl...";
       foreach $t (@l_kategorie) {       
              $opt_kategorie.= $t eq $input_kategorie ? "<option value=$t selected>$t" : "<option value=$t>$t"; # selected auf übergebenen Wert
       } # E foreach optionfeldbau
       $opt_kategorie. = "</select>";
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # DB nach Optionfeld Kategorienweise durchgehen (alles)
       foreach $t (@l_art) {ww
          get "kategorie==$t", "spielzeug","holart";
          while (get_next("holart")){
         ....nun hier deine Ausgaben oder Schreiben in Variable ....
         } # E while_get_next
       } # E foreach optionliste
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # DB nach Einzel-Kategorien durchgehen (nach übergebenen Werten
      # aus dem Optionfeld von oben)
          get "kategorie==$input_kategorie", "spielzeug","holeinzelart";
          while (get_next("holart")){
         ....nun hier deine Ausgaben oder Schreiben in Variable ....
         } # E while_get_next
      
      ---- schnappels
      Wichtig: Die Kategorien müssen zwingend Einzelworte ohne Leerzeichen sein, sonst haut das nicht hin.
      Wenn du mehrere Worte in den Kategorien hast, wäre es günstig, nach "beginnt mit" abzufragen und eindeutige Erste Worte in die Kategorie einzufügen. (s. auch Doku unter http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=50) Da muss dann der Wert für das Attribut value im Option-Feld noch mittels Perl generiert werden, evtl. so:
      ---- schnipp
      $opt_val = substr $t,0,index $t, ' '; # erstes Wort bis zum Leerzeichen
      
      ---- schnapp
      im Einsatz für den dynamischen Aufbau des Optionfeldes und dann das Holen der entsprechenden Datensätze könnte das so aussehen:
      ---- schnippels
      # Optionfeld bauen (vorher Liste @l_kategorie füllen!)
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
       $opt_kategorie = "<select name='input_kategorie='>";
       $opt_kategorie. = "<option value=''>Auswahl...";
       foreach $t (@l_kategorie) {  
              my $opt_val = substr $t,0,index $t, ' ';     
              $opt_kategorie.= $opt_val eq $input_kategorie ? "<option value=$opt_val selected>$t" : "<option value=$opt_val>$t"; # selected auf übergebenen Wert
       } # E foreach optionfeldbau
       $opt_kategorie. = "</select>";
      
      .... irgendwas weiter
      # Datensätze holen für ans Template übergebenen Parameter $input_kategorie
          get "kategorie~=$input_kategorie", "spielzeug","holeinzelart";
          while (get_next("holart")){
         ....nun hier deine Ausgaben oder Schreiben in Variable ....
         } # E while_get_next
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      
      Hoffe, es hilft dir weiter und ich hab keine Fehler in den Scriptteiltext gebaut ;-)
      Ruben


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Thomas Fedder (333 Beiträge) am Mittwoch, 23.Juli.2003, 22:05.
    Abfrage des Inhalts vom Feld "option"

      Hallo allerseits,

      ich würde gerne in einer DB ein "option" Feld anlegen.
      Nun soll ein Template:
      - Feststellen, welcher Eintrag in dem Datensatz im Feld option jeweils gewählt worden ist
      - ein Vergleich starten. Wenn Eintrag x, Ausgabe des Textes y.

      Danke für die Hilfe

      ciao

      TF
      P.S.: Ich habe in den letzten Monaten Dank des Forum viele Probleme lösen können. Dafür nochmal danke

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Donnerstag, 24.Juli.2003, 00:42.
    Re: Abfrage des Inhalts vom Feld "option"

      Wenn du mit action all arbeitest dann zeigt er dir bei der Ausgabe das an was du in baseportal eingegeben hast.

      Mit Perl kannst du es anbfangen und ändern (eingabe unterscheidet sich von der ausgabe)

      Sag mal etwas genauer was du möchtest...

     Antworten

    Beitrag von Thomas Fedder (333 Beiträge) am Donnerstag, 24.Juli.2003, 08:03.
    Re: Abfrage des Inhalts vom Feld "option"

      Hallo allerseits,

      ich möchte das Feld option als Ersatz für die bei meinem neuesten Projekt 20 Checkbox Felder benutzen.
      Diese Felder kennzeichnen die Kategorien von Spielzeug, also z.B. Autos, Puppen, etc.

      Im Template soll das Spielzeug nach der o.g. Art sortiert werden, also alle Auto zusammen, Puppen zusammen, etc.

      Ich hatte mit den Checkboxes eine Loop Abfrage bebastelt:
      <loop db=spielzeug autos\>( code=perl sort=name>
      
      In diesem Fall wurden alle Felder in der Datenbank spielzeug, bei denen das Feld checkbox Feld autos angehakt war, sortiert anch dem Feld name, angezeigt.

      Nun möchte ich aus Gründen der Übersichtlichkeit der Eingabe kein Checkbox Feld sonder ein option Feld benutzen, in denen die Spielzeugkategorien die Einträge sind.

      Alles klar?

      Danke

      TF

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 24.Juli.2003, 10:28.
    Re: Abfrage des Inhalts vom Feld "option"

      Hallo, Thomas,
      wenn ich es richtig verstehe, willst du Kategorienweise sortiert die zugehörigen Datensätze ausgeben, richtig?
      Dann folgende Erklärung und dann die Code-Schnipsel (für Kategorien in einem Optionfeld der DB)
      1. Die Optionen holen und den Inhalt in eine Liste schreiben
      2. Die Liste Elementweise auslesen und für jedes Element die Datenbank durchgehen und dann die Inhalte ausgeben

      ----schnippels
       # Optionfeld holen
       #-- Code von Sander - Danke! --
       get "Field==!kategorie","spielzeug.fields", "feldbau";
       @l_art = split/\n/,$Params; #optionen rausdröseln
       shift @l_kategorie; #erstes element entfernen, beschreibung des felds
      
      ... irgendwas weiter
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # ein Optionfeld zur Ausgabe im Template mit diesem Inhalt kann wie folgt gebaut werden:
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
       $opt_kategorie = "<select name='input_kategorie='>";
       $opt_kategorie. = "<option value=''>Auswahl...";
       foreach $t (@l_kategorie) {       
              $opt_kategorie.= $t eq $input_kategorie ? "<option value=$t selected>$t" : "<option value=$t>$t"; # selected auf übergebenen Wert
       } # E foreach optionfeldbau
       $opt_kategorie. = "</select>";
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # DB nach Optionfeld Kategorienweise durchgehen (alles)
       foreach $t (@l_art) {ww
          get "kategorie==$t", "spielzeug","holart";
          while (get_next("holart")){
         ....nun hier deine Ausgaben oder Schreiben in Variable ....
         } # E while_get_next
       } # E foreach optionliste
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      # DB nach Einzel-Kategorien durchgehen (nach übergebenen Werten
      # aus dem Optionfeld von oben)
          get "kategorie==$input_kategorie", "spielzeug","holeinzelart";
          while (get_next("holart")){
         ....nun hier deine Ausgaben oder Schreiben in Variable ....
         } # E while_get_next
      
      ---- schnappels
      Wichtig: Die Kategorien müssen zwingend Einzelworte ohne Leerzeichen sein, sonst haut das nicht hin.
      Wenn du mehrere Worte in den Kategorien hast, wäre es günstig, nach "beginnt mit" abzufragen und eindeutige Erste Worte in die Kategorie einzufügen. (s. auch Doku unter http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=50) Da muss dann der Wert für das Attribut value im Option-Feld noch mittels Perl generiert werden, evtl. so:
      ---- schnipp
      $opt_val = substr $t,0,index $t, ' '; # erstes Wort bis zum Leerzeichen
      
      ---- schnapp
      im Einsatz für den dynamischen Aufbau des Optionfeldes und dann das Holen der entsprechenden Datensätze könnte das so aussehen:
      ---- schnippels
      # Optionfeld bauen (vorher Liste @l_kategorie füllen!)
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
       $opt_kategorie = "<select name='input_kategorie='>";
       $opt_kategorie. = "<option value=''>Auswahl...";
       foreach $t (@l_kategorie) {  
              my $opt_val = substr $t,0,index $t, ' ';     
              $opt_kategorie.= $opt_val eq $input_kategorie ? "<option value=$opt_val selected>$t" : "<option value=$opt_val>$t"; # selected auf übergebenen Wert
       } # E foreach optionfeldbau
       $opt_kategorie. = "</select>";
      
      .... irgendwas weiter
      # Datensätze holen für ans Template übergebenen Parameter $input_kategorie
          get "kategorie~=$input_kategorie", "spielzeug","holeinzelart";
          while (get_next("holart")){
         ....nun hier deine Ausgaben oder Schreiben in Variable ....
         } # E while_get_next
      # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      
      Hoffe, es hilft dir weiter und ich hab keine Fehler in den Scriptteiltext gebaut ;-)
      Ruben

     Antworten

    Beitrag von Thomas Fedder (333 Beiträge) am Freitag, 25.Juli.2003, 08:23.
    Re: Abfrage des Inhalts vom Feld "option"

      Hallo Ruben,

      zuerst danke für deine Hilfe und dein Script.
      Das es so groß und kompliziert würde, hätte ich nicht gedacht.
      Bei meinem Beispiel mit Checkboxen musste ich zwar für jede Kategorie ein einzelnen abgeändertes Script einsetzten, das war jedoch jeweils überscbaubar.
      Seis drum, ich werde mich mal mit dem Script beschäftigen.

      Vielen Dank

      ciao

      TF

     Antworten

    Beitrag von anitasander (8 Beiträge) am Donnerstag, 13.November.2003, 21:17.
    Re: Abfrage des Inhalts vom Feld "option"

      oh mann hilfe, ich mit all dem nichts anfangen...

     Antworten


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