Re: perl-Problem wenn Leerzeichen im Texfeld sind - 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, 23.Dezember.2004, 17:17.
    Re: perl-Problem wenn Leerzeichen im Texfeld sind

      setz mal die Variable auch noch in Doppelquotes, also so:
      get ["MA_Bearbeitung", "==", "$Altbestand 2003"], "Kundeninfos2";"holen"; 
      (Hintergrund: Leerzeichen ist wieder "frei", deshalb sucht er ne Variable Namens $Altbestand und kann mit 2003 nix anfanggen...)
      


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Tini (0 Beiträge) am Dienstag, 7.Dezember.2004, 15:28.
    perl-Problem wenn Sonderzeichen oder Leerzeichen im Texfeld sind

      Hallo,


      mir nachfolgendem Formular mit perl hole ich alle Inhalte aus dem Feld Rubrik. Ist der Rubrikname öfter vorhanden, wird es aber nur 1x angezeigt.

      Mein Problem:
      Das Funktioniert nur, wenn im Feld "Rubrik" nur 1 Wort ohne Sonderzeichen steht.
      Ich kriege es einfach nicht hin, wenn ein Leerzeichen oder Sonderzeichen vorhanden sind :-(

      Tini


      <perl>
      

      out <<EOF;
       



      <tr><td>
      <form action="http://...template2" method="post" enctype="multipart/form-data">
      <input type=hidden name="cmd=" value="search">
       
      

      EOF



      get "Rubrik==*", "daten2", "erghash";
       
      

      while(get_next("erghash")) {
      push @opRubrik, $Rubrik if index("@opRubrik", "$Rubrik")<0;
      }
      foreach my $opRubrik(sort @opRubrik){
      # $a_opRubrik .= $opRubrik eq $frubrik ? "<option selected value=$opRubrik>$opRubrik" : "<option value=$opRubrik>$opRubrik";
      $a_opRubrik .= "<option value=$opRubrik>$opRubrik";
      }
      my $sl = "selected" if $frubrik eq "";
      out<<EOF;
      <select name="frubrik=">
      <option $sl value='*'>Alle
      $a_opRubrik
      </select>
      <input type="submit" value="suchen">
      </form>
       
      

      EOF


      </perl>
      

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 7.Dezember.2004, 15:54.
    Re: perl-Problem wenn Sonderzeichen oder Leerzeichen im Texfeld sind

      so gehts besser

      get "Rubrik==*", "daten2", "erghash";
      while(get_next("erghash")) {
      $opRubrik{$Rubrik}++
      }
      ## achtung foreach hat keys dazu bekommen
      foreach my $opRubrik(sort keys %opRubrik){
      # $a_opRubrik .= $opRubrik eq $frubrik ? "<option selected value=$opRubrik>$opRubrik" : "<option value=$opRubrik>$opRubrik";
      $a_opRubrik .= "<option value=$opRubrik>$opRubrik";
      }
      my $sl = "selected" if $frubrik eq "";
      

     Antworten

    Beitrag von Mattias (110 Beiträge) am Mittwoch, 8.Dezember.2004, 10:07.
    Re: perl-Problem wenn Sonderzeichen oder Leerzeichen im Texfeld sind

      Das Problem hatte ich auch, wobei ich festgestellt habe, dass es anscheinend mit den Sonderzeichen jetzt doch funzt, nur beim Leerzeichen läuft nichts. Ich speichere deshalb die Leerzeichen als Unterstriche ab:

      Bei der Eingabe: $_put{text} =~ s/\ /_/g;

      und bei der Ausgabe: $text =~ s/_/\ /g;

      Da der Unterstrich im Normalfall äußerst selten verwendet wird, ist das Problem damit vom Tisch.

     Antworten

    Beitrag von Tini (0 Beiträge) am Mittwoch, 8.Dezember.2004, 18:01.
    Re: perl-Problem wenn Sonderzeichen oder Leerzeichen im Texfeld sind

      Dank an Sander & Matthias.

      Werde ich umgehend probieren.

      Tini

     Antworten

    Beitrag von Tini (0 Beiträge) am Mittwoch, 8.Dezember.2004, 19:44.
    Re: perl-Problem wenn Sonderzeichen oder Leerzeichen im Texfeld sind

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 8.Dezember.2004, 21:11.
    Re: perl-Problem wenn Sonderzeichen oder Leerzeichen im Texfeld sind

     Antworten

    Beitrag von Tini (0 Beiträge) am Donnerstag, 9.Dezember.2004, 20:15.
    Re: perl-Problem wenn Leerzeichen im Texfeld sind

      Hallo Claus,

      leider nicht :-(

      Ich möchte ja nichts ersetzen.

      Wenn ich z.B. den Rubriknamen "Spaß & Unterhaltung" habe,
      soll er auch so erkannt werden, aber alles, was nach dem Leerzeichen
      kommt, wird nicht erkannt.
      Dank Sander klappt das mit den Sonderzeichen, aber leider nicht mit den Leerzeichen.

      Tini


      <perl>
      out <<EOF;
      <tr><td>
      <form action="http://...template2" method="post" enctype="multipart/form-data">
      <input type=hidden name="cmd=" value="search">
      EOF
      get "Rubrik==*", "daten2", "erghash";
      while(get_next("erghash")) {
      $opRubrik{$Rubrik}++
      }
      foreach my $opRubrik(sort keys %opRubrik){
      # $a_opRubrik .= $opRubrik eq $frubrik ? "<option selected value=$opRubrik>$opRubrik" : "<option value=$opRubrik>$opRubrik";
      $a_opRubrik .= "<option value=$opRubrik>$opRubrik";
      }
      my $sl = "selected" if $frubrik eq ""; 
      out<<EOF;
      <select name="frubrik=">
      <option $sl value='*'>Alle
      $a_opRubrik
      </select>
      <input type="submit" value="suchen">
      </form>
      EOF
      </perl>
      

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 10.Dezember.2004, 08:09.
    Re: perl-Problem wenn Leerzeichen im Texfeld sind

      mhm - das ist nicht ganz trivial, und ich umgehe solche Sachen aus gegebenen Gründen. Leerzeichen in Suchwerten sind nicht (nagut nur mit Bocksprüngen) nutzbar, auf alle Fälle wenns auf Gleichheit abgefragt werden soll.
      Sinnvoller sehe ich die Abfrage auf "Beginnt mit", da funktionierts einwandfrei, allerdings muss man dann darauf achten, dass das erste Wort bwpw. in ner Rubrikenliste eineiendeutig im mathematischen Sinne ist, sonst wird nicht richtig gefiltert.
      Beispiel:
      Rubriken:
      Spaß und Unterhaltung
      Spaßmacher
      Haus und Hof
      Hauswirtschaft
      wäre nicht eineindeutig, es würde hier bei "beginnt mit 'Spaß'" sowohl Spaß und Unterhaltung als auch Spaßmacher geholt werden, ebenso bei Haus Haus und Hof und Hauswirtschaft
      Es ist in sonem Falle ganz wichtig, die richtige Begrifflichkeit zu finden, sollte aber mit nem guten Synonymwörterbuch oder nem Thesaurus in ner Textverarbeitung kein Problem sein ;-)
      Übrigens - Vergleichsoperatoren fürs Filtern von Datensätzen:
      http://baseportal.de/baseportal/doku/baseportal.pl?htx=/doku/wiki&kennung=45
      hoffe, das hat es dir etwas klarer gemacht.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 13.Dezember.2004, 19:22.
    Re: perl-Problem wenn Leerzeichen im Texfeld sind

      Hab das erst jetzt entdeckt und damits nicht womöglich missverständlich stehen bleibt:

      Die Ist-Gleich-Abfrage auf Leerzeichen muss man ab besten so machen:

      get ["Feld", "==", $wert], "db";
      

      ;-)

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 14.Dezember.2004, 08:38.
    Re: perl-Problem wenn Leerzeichen im Texfeld sind

      na sag ich ja, nur mit "Bocksprüngen" - bei kombinierten Abfragen auf mehrere Felder wird das so ziemlich unübersichtlich, deshalb mein Hinweis auf das "beginnt mit" und die Eineindeutigkeit des ersten Wortes im Suchbegriff....

     Antworten

    Beitrag von Barbara (59 Beiträge) am Donnerstag, 23.Dezember.2004, 16:52.
    perl-Problem wenn Leerzeichen im Texfeld sind

      Hallo liebe Könner,
      ich habe gerade im Forum gelesen, man solle eine Abfrage, wenn Leerzeichen mit Feld sind, wie folgt aufbauen:

      <perl>
      get ["MA_Bearbeitung", "==", $Altbestand 2003], "Kundeninfos2";"holen"; 
      

      while (get_next "holen"){
      mod "Id==$_id",["MA_Bearbeitung","Versuch"],"Kundeninfos2";
      }
      </perl>
      

      Dann wird folgender Fehlercode ausgegeben:
      [ Fehler: Fehlerhafter Perl Code in :
      syntax error at (eval 826) line 2, near "$Altbestand 2003" ]

      Wenn ich zwischen Altbestand und 2003 einen Unterstrich setze oder den Leerschritt wegmache, passiert garnichts.
      Kann mir vielleicht jemand helfen?

      Liebe Grüße,
      Barbara

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 23.Dezember.2004, 17:17.
    Re: perl-Problem wenn Leerzeichen im Texfeld sind

      setz mal die Variable auch noch in Doppelquotes, also so:
      get ["MA_Bearbeitung", "==", "$Altbestand 2003"], "Kundeninfos2";"holen"; 
      (Hintergrund: Leerzeichen ist wieder "frei", deshalb sucht er ne Variable Namens $Altbestand und kann mit 2003 nix anfanggen...)
      

     Antworten


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