Re: Wie selektiert man Zahlenfelder? - 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 Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 19:14.
    Re: Wie selektiert man Zahlenfelder?

      Wahrscheinlich setze ich immer zuviel voraus, aber hier nochmal etwas detaillierter.

      >Was soll das denn mit dem Kommawandeln?
      

      gebe ich aber "0,75" ein erhalte keine Treffer, bei "0.75" korrekt alle 3/4-Literflaschen.

      Die Umwandlung bedeutet, egal ob Du jetzt ein Komma oder einen Punkt eingibst, es wird immer nach (0.75) gesucht.

      das hier:

      $sel_gt_volumen=~ s/,/./g;
      

      vor das "get" setzen, dann sollte es klappen.

      Gruß

      Claus


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Claus S. (1671 Beiträge) am Dienstag, 15.August.2006, 13:04.
    Wie selektiert man Zahlenfelder?

      Hallo,

      ich muss in einer Auswertung nach Zahlen selektieren:
      in der Datei ist ein Feld mit Typ Zahl definiert,
      im Abfrage-Formular ist ein Inputfeld (type=text, geht ja nicht anders),
      die Abfrage selbst lautet
      get ".... gt_anz_flaschen==$sel_gt_anz_flaschen & gt_volumen==$sel_gt_volumen range=$rng sort=$sortfelder", "$gv_mainfile";   
      

      Wenn ich nun in das Selektionfeld einen Zahlenwert eingebe und die Abfrage starte, erhalte ich als Ergebnis 0 Sätze, gebe ich die Zahl rechtsbündig ein, (mit führenden Leerzeichen) erhalte ich alle Sätze.

      Gibt es bei der Abfrage mit Zahlenwerten etwas besonders zu beachten?

      Gruss

      Claus S.

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 16.August.2006, 14:02.
    Re: Wie selektiert man Zahlenfelder?

      Feld in der DB nicht als Zahl definieren - das ist nur für do action interessant, bei get werden sowieso immer RAW-Daten geholt, die Typ-Umwandlung macht Perl automatisch.
      Die Vergleiche/Bedingungen müssen natürlich alle belegt sein (Werte von $sel_gt_anz_flaschen und $sel_gt_volumen müssen beide belegt sein), sonst haut das nicht hin´, ggf. sollten die Variablen vorbelegt werden, in etwa so:
      ---schnipp
      $sel_gt_anz_flaschen ||= "*";
      $sel_gt_volumen ||= "*";
      
      ----schnapp
      damit wird entweder der übergebene Wert (per URL oder Formularfeld gleichen Namens) eingesetzt oder halt der *, was dann zur Ausgabe aller Werte im entsprechenden Feld als Kriterium führen würde.

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 16.August.2006, 15:40.
    Re: Wie selektiert man Zahlenfelder?

      Hallo hempelr,

      danke Dir für die Antwort,
      aber ich benötige die Zahlenfelder an anderer Stelle noch für Berechnungen,
      was passiert dann, wenn die Felder als Textfelder definiert sind (Dezimalstellen)?

      Gruss

      Claus S.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 17:11. WWW: jobmarder.de
    Re: Wie selektiert man Zahlenfelder?

      Hallo Namensvetter,

      ich weis ja nicht, wie Deine Abfrage lautet, aber hast Du das schon mal so probiert (ohne type=text)?:

      <INPUT size=10 name="Preis~=">
      

      Wenn Du mal den Quelltext einer baseportal-eigenen Suche ansiehst, wirst Du feststellen, daß da die type-Angabe fehlt.

      Habe bei der autoseite von mir ( http://www.automobilhai.de/ ) ein Zahlenfeld für Preis (2 Stellen mit Dezimalpunkt) und frage mit größer-gleich und kleiner-gleich so ab.

      hth

      Gruß

      Claus

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 16.August.2006, 17:43.
    Re: Wie selektiert man Zahlenfelder?

      Hallo Claus,

      die Abfrage habe ich ja schon am Anfang des Threads gepostet:

      get ".... gt_anz_flaschen==$sel_gt_anz_flaschen & gt_volumen==$sel_gt_volumen range=$rng sort=$sortfelder", "$gv_mainfile"; 
      

      den Type kann ich nicht weglassen, da sonst die XHTML-Validierung schiefläuft, ist nun mal keine korrekte Codierung, Entschuldigung "Auszeichnung" (selfhtml + w3c) ;-)

      Die Abfrage selbst lautet bewusst nur auf einzelne Werte, da sie auf fest definierte Gebinde und Volumen abfragt, also z.B. zeige mir alle Artikel, deren Kästen 12 Flaschen beinhalten und ein Volumen von 0,75 Liter, da geht nix mit grösser/gleich.

      Nur zur Erklärung: Hierbei handelt es sich um den Artikelstamm eines Getränkegrosshandels

      Gruss

      Claus S.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 17:56. WWW: jobmarder.de
    Re: Wie selektiert man Zahlenfelder?

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 16.August.2006, 18:09.
    Re: Wie selektiert man Zahlenfelder?

      mag sein, weil "text" der Unterlassungswert für type ist, vielleicht meckert er auch nur bei der strikten Validierung.

      Habe aber jetzt mal Hempels Vorschlag umgesetzt und in der Datei die Zahlenfelder in Textfelder gewandelt. Da kommt nur teilweise ein schlüssiges Ergebnis raus:

      Suche ich mit "1,0" oder "1.0" erhalte ich tatsächlich alle 1-Literflaschen,
      gebe ich aber "0,75" ein erhalte keine Treffer, bei "0.75" korrekt alle 3/4-Literflaschen.

      Ganz zu schweigen davon, dassi ich bei der Eingabe mit einem Regex prüfen muss, ob nur Zahlenwerte eingegeben wurden, sonst knallt es vor Fehlern und das Layout wird zerschossen. Alles in allem nicht sehr befriedigend, wundert mich nur, dass das bisher nicht aufgefallen ist ;-)(

      Gruss

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 18:23. WWW: jobmarder.de
    Re: Wie selektiert man Zahlenfelder?

      Anweisung ist bei mir strikt:

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/Strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
      


      ,-))

      Versuch mal so:

      $sel_gt_anz_flaschen=~ s/,/./g;
      

      dadurch wird das Komma in einen Punkt gewandelt.

      Nur mal als Überlegung.

      ;-))

      Gruß

      Claus

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 16.August.2006, 18:54.
    Re: Wie selektiert man Zahlenfelder?

      Was soll das denn mit dem Kommawandeln?
      In der Datei stehen doch alle Werte wie gehabt durch den Zeitpunkt der Erfassung, da waren es noch Zahlenfelder, also sind alle Zeichen mit Dezimalen in der gleichen Art gespeichert.

      Gebe ich also bei der Dezimalsuche einen _Punkt_ ein, so wird ein korrektes Ergebnis geliefert, gebe ich hingegen ein _Komma_ ein, so erhalöte ich mal ein richtiges, mal ein falsches Ergenbis. Diese - eben schon mal geschilderte - Tatsache hat nicht mit einer Kommawandlung zu tun, trotzdem Danke für Deine Überlegung.

      Egal, wie man es dreht und wendet, scheint mir, braucht man für solche ANwendungen mit baseportal ausserhalb do_action haufenweise workarounds.

      Vielleicht kann ja CB als Entwickler mal was zu diesem Thema beitragen.

      Gruss

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 19:00. WWW: jobmarder.de
    Re: Wie selektiert man Zahlenfelder?

      hatte Deinen Beitrag erst nach dem post gesehen. du schreibst:

      gebe ich aber "0,75" ein erhalte keine Treffer, bei "0.75" korrekt alle 3/4-Literflaschen.

      daher die Überlegung:

      $sel_gt_volumen=~ s/,/./g;
      

      von unterschiedlichen Ergebnissen hattest Du da nichts geschrieben.

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 19:14.
    Re: Wie selektiert man Zahlenfelder?

      Wahrscheinlich setze ich immer zuviel voraus, aber hier nochmal etwas detaillierter.

      >Was soll das denn mit dem Kommawandeln?
      

      gebe ich aber "0,75" ein erhalte keine Treffer, bei "0.75" korrekt alle 3/4-Literflaschen.

      Die Umwandlung bedeutet, egal ob Du jetzt ein Komma oder einen Punkt eingibst, es wird immer nach (0.75) gesucht.

      das hier:

      $sel_gt_volumen=~ s/,/./g;
      

      vor das "get" setzen, dann sollte es klappen.

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 21:11. WWW: jobmarder.de
    Re: Wie selektiert man Zahlenfelder?

      Wat nu? klappt oder klappt nich?

      ;-)

      wenn nicht,

      >Vielleicht kann ja CB als Entwickler mal was zu diesem Thema beitragen.
      

      ;-)

      Gruß

      Claus

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Donnerstag, 17.August.2006, 10:27.
    Re: Wie selektiert man Zahlenfelder?

      gemach, gemach,
      bin ja nich 24 h am proggen und im Forum ;-)

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 18:56. WWW: jobmarder.de
    Re: Wie selektiert man Zahlenfelder?

      sorry,

      ging ja um das Volumen, also:

      $sel_gt_volumen=~ s/,/./g;
      

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 17:28. WWW: jobmarder.de
    Re: Wie selektiert man Zahlenfelder?

      Hatte ich noch vergessen,

      schau mal, was da an Daten ankommt, indem Du das hier im Template vor dem "get" eingibst:

      out"#$sel_gt_anz_flaschen#";
      

      ich weis ja nicht, ob Du mit Lizenz arbeitest, aber da gibt es Probleme mit Leerzeichen, die sich nach dem Abschicken einschleichen.

      Gruß

      Claus

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 16.August.2006, 17:45.
    Re: Wie selektiert man Zahlenfelder?

      nee, die Werte kommen korrekt an
      und ich arbeite bei der Entwicklung meist in der kostnix-Version

      Gruß

      Claus

      btw: Meintest Du Lizenz oder Mietversion, weil bei letzterer habe die geschilderten Probleme mit den Leerzeichen auch noch nicht gehabt.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 16.August.2006, 18:01. WWW: jobmarder.de
    Re: Wie selektiert man Zahlenfelder?

      >btw: Meintest Du Lizenz oder Mietversion, weil bei letzterer habe die geschilderten Probleme mit den Leerzeichen auch noch nicht gehabt.
      

      Gleich nach der Umstellung von Miete auf Lizenz gingen sämtliche Abfragen in die Hose, weil sich dort Leerzeichen reingeschlichen und dadurch die ganzen Abfragen verhunzt haben. Die mußt Du da alle rausfiltern im @_sel. Bei Miete lief das vorher alles ohne Probleme.

      CB würde jetzt wieder schreiben, das ist der Vorteil bei der freien Programmierung.;-))

      Gruß

      Claus

     Antworten


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