Re: @ mk wegen options-feld - 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 mk (966 Beiträge) am Mittwoch, 19.November.2003, 19:25.
    Re: @ mk wegen options-feld

      danke für das script,
      Testen kann ich es aber erst später,
      ich melde mich dann.
      Kannst du vieleicht noch ein paar Kommentare einfügen, damit ich es besser verstehe ?
      Den CSV Impor werde ich selber kpl. selber progammieren.
      Da sehe ich derzeit kein Problem.

      Danke für die Mühen

      @cb muß es wirklich so "komliziert" sein ????
      


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von olaf (59 Beiträge) am Montag, 17.November.2003, 19:46.
    @ mk wegen options-feld

      moin mk,

      hier mal ein kleines script mit meiner lösung für das problem der mehrfachauswahl bei einem optios feld über ein eigenes formular d.h. ohne <do action>. man kann einträge machen diese auch editieren und die einträge sind auch wieder über <do action> bzw. intern über das baseportal webinterface zu verwalten.

      in der kleinen beispiel db gibt es einen datensätz (ref=1) in der alle möglichen optionen aktiviert sind, damit das script weiss, was es für optionen gibt. d.h. man kann die optionen ändern, den datesatz anpassen und braucht dann nicht das template zu ändern.

      bei dem kleinen script habe ich am ande das <da action> dabei gepackt um zu demonstrieren, das die einträge über das eigene formular komatibel zu den optionseinträgen über basepaortal sind. das <do action> stört natürlich bei dem button "make csv-file". das mit dem csv hab ich nur darein gemacht, weil du gefragt hast, wie man die optionen durch ein ; trennt.
      beim rumprobieren ist mir aufgefallen das das csv erstellen mit einem | über baseportal bei mir nicht fehlerfrei funktioniert hat. dabei wurde nicht nur jede spalte durch ein | getrennt, sondern auch jedes zeichen.

      hier mal der link zu meinem kleinen test: http://klezocker.de/baseportal/opttest

      und das test-script dazu:

      <perl>
      $my_db="options";
      $my_url="http://klezocker.de/baseportal/opttest";
      

      if ( $formcmd eq "send"){
       put ["opt",$_put{opts}],$my_db;
      }elsif ( $formcmd eq "send change" ){
       mod "Id==!$edit_id",["opt",$_put{opts}],$my_db;
       $formcmd="";
      }elsif ( $formcmd eq "makefile" ){
       get "ref<>1 sort=Id",$my_db;
       $frec=1;
       while ( get_next ($my_db) ){
        $opt=~s/\n/;/g;
        unless ( $frec ){ out "\x0D\x0A"; }else{ $frec=0; }
        out "$Id|$opt";
       }
       $formcmd="nothing";
      }
      

      if ( $formcmd ne "nothing" ) { out "<h1>access over a own form:</h1>"; }

      if ($formcmd eq "send" or $formcmd eq "new"){
       get "ref==1",$my_db;
       @options=split /\n/,$opt;
       out <<EOF;
       new entry:<br>
       <form action="$my_url?htx=$htx" method="post" enctype="multipart/form-data">
       <input type=hidden name="htx=" value="$htx">
      EOF
       out "<select name='opts:=' size='".scalar(@options)."' multiple>";
       for $i (@options){
        out "<option>$i</option>";
       }
       out <<EOF;
       </select><br><br><input type="submit" name="formcmd=" value="send">&nbsp;&nbsp;&nbsp;<input type="submit" name="formcmd=" value="show records" onClick="self.location.href='$my_url?htx=$htx'">
       </form>
      EOF
      }elsif ( $formcmd eq "" or $formcmd eq "show records" ){
       get "ref<>1",$my_db;
       out "<table rules=all cellpadding=3>";
       while ( get_next ($my_db) ){
       $opt=~s/\n/; /g;
       out "<tr><td><a href='$my_url?htx=$htx&formcmd=edit&cid=$Id'>edit</a></td><td>$opt</td></tr>";
       }
       out "</table><br>";
       out "<input type='submit' name='formcmd=' value='new' onClick=\"self.location.href='$my_url?htx=$htx&formcmd=new'\">&nbsp;&nbsp;&nbsp;<input type='submit' name='formcmd=' value='make cmd-file' onClick=\"self.location.href='$my_url?htx=$htx&formcmd=makefile'\">";
      }elsif ( $formcmd eq "edit" or $formcmd eq "send change" ){
       get "ref==1",$my_db;
       @options=split /\n/,$opt;
       get "Id==!$cid",$my_db;
       $opt.="\n";
       out <<EOF;
       edit record:<br>
       <form action="$my_url?htx=$htx" method="post" enctype="multipart/form-data">
       <input type=hidden name="htx=" value="$htx">
       <input type=hidden name="edit_id=" value="$Id">
      EOF
       out "<select name='opts:=' size='".scalar(@options)."' multiple>";
       for $i (@options){
        if ( $opt=~/$i\n/ ){
         out "<option selected>$i</option>";
        }else{
         out "<option>$i</option>";
        }
       }
       out <<EOF;
       </select><br><br><input type="submit" name="formcmd=" value="send change">&nbsp;&nbsp;&nbsp;<input type="submit" name="formcmd=" value="show records" onClick="self.location.href='$my_url?htx=$htx'">
       </form>
      EOF
      }
      </perl>
      <h2>access over &ltdo action=all&gt :</h2>
      <do action=all db=options>
      

     Antworten

    Beitrag von mk (966 Beiträge) am Mittwoch, 19.November.2003, 19:25.
    Re: @ mk wegen options-feld

      danke für das script,
      Testen kann ich es aber erst später,
      ich melde mich dann.
      Kannst du vieleicht noch ein paar Kommentare einfügen, damit ich es besser verstehe ?
      Den CSV Impor werde ich selber kpl. selber progammieren.
      Da sehe ich derzeit kein Problem.

      Danke für die Mühen

      @cb muß es wirklich so "komliziert" sein ????
      

     Antworten


     
 Liste der Einträge von 33750 bis 33900: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!