Re: if Abfrage wenn das Feld leer sein kann - 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 roger (0 Beiträge) am Mittwoch, 27.November.2002, 12:35. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann

      Hallo Sander,

      jetzt wollte ich mich gerade schämen, weil ich schon seit langem die " " weglasse, aber ich habe sie schnell eingesetzt. Keine Änderung.
      Der HTML-Code den mein Browser erhält ist dieser:

      <input TYPE=TEXT NAME="Mindestens:=" VALUE=SI SIZE="2" MAXLENGTH="2"> und <input TYPE=TEXT NAME="Hoechstens:=" VALUE=SI SIZE="2" MAXLENGTH="2"> Jahre alt sein.</font></td>
      <td WIDTH=263>
      


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Roger (141 Beiträge) am Dienstag, 26.November.2002, 02:47. WWW: einsam-zweisam.de
    if Abfrage wenn das Feld leer sein kann

      Hallo,

      ich habe ein Problem, der folgende Code soll eigentlich die Ausgabe vom Inhalt der beiden Variablen $Hoechstens und $Mindestens passend formatieren.
      Wenn Nur ein Wert angeben ist, dann soll auch nur zum Beispiel:

      er sollte mindestes 30 Jahre alt sein

      oder

      sie soll höchstens 30 Jahre alt sein

      erscheinen.

      Wenn beide Werte fehlen, dann:

      Ihr Alter ist erst einmal egal


      Die abfrage nach $Ich_suche arbeitet richtig, allerdings scheint immer! sollte mindestens und höchstens, auch wenn Die werte leer sind.

      Mit gt "0" habe ich es auch versucht, ebenso mit mit gt "", aber immer das selbe.

      Dann habe ich versucht ganz am Anfang des Templates $tmphoech="0" und $tmpmind="0" zu setzen und diese Werte dann in die if-abfrage zu setzen. Immer das selbe Ergebnis.

      In der Datenbank jetzt alle leere $Hoechstens und $Mindestens mit 0 zu füllen könnte vielleicht gehen, habe ich nicht probiert, da der Aufwand extrem hoch ist ist nachhinnein, es sei denn jemand hat dafür einen kleinen Codeschnipsel.

      Aber das kann doch die einzige Lösung nicht sein, oder?

      <perl>
      if ($Mindestens ne "")
       {
        if ($Hoechstens ne "")
         {
           if ($Ich_suche eq "Mann")
            {
              out " er sollte mindestens ",$Mindestens," Jahre und höchstens ",$Hoechstens," Jahre alt sein";
            }
           if ($Ich_suche eq "Frau")
            {
              out " sie sollte mindestens ",$Mindestens," Jahre und höchstens ",$Hoechstens," Jahre alt sein";
            }
              if ($Ich_suche eq "Paar")
            {
              out " sie sollten mindestens",$Mindestens," Jahre und höchstens ",$Hoechstens," Jahre alt sein";
            }
         }
        else  
         {
           if ($Ich_suche eq "Mann")
            {
              out " er sollte höchstens ",$Hoechstens," Jahre alt sein";
            }
           if ($Ich_suche eq "Frau")
            {
              out " sie sollte höchstens ",$Hoechstens," Jahre alt sein";
            }
              if ($Ich_suche eq "Paar")
            {
              out " sie sollten höchstens ",$Hoechstens," Jahre alt sein";
            }
          }
      }
      else
       {
        if ($Hoechstens ne "")
         {
           if ($Ich_suche eq "Mann")
            {
              out " er sollte mindestens ",$Mindestens," Jahre alt sein";
            }
           if ($Ich_suche eq "Frau")
            {
              out " sie sollte mindestens ",$Mindestens," Jahre alt sein";
            }
              if ($Ich_suche eq "Paar")
            {
              out " sie sollten mindestens",$Mindestens," Jahre alt sein";
            }
         }
        else  
         {
           if ($Ich_suche eq "Mann")
            {
              out ". Sein Alter ist erst einmal egal";
            }
           if ($Ich_suche eq "Frau")
            {
              out ". Ihr Alter ist erst einmal egal";
            }
              if ($Ich_suche eq "Paar")
            {
              out ". Deren Alter ist erst einmal egal";
            }
          }
      }
      </perl>
      

     Antworten

    Beitrag von Friesecke (245 Beiträge) am Dienstag, 26.November.2002, 10:15.
    Re: if Abfrage wenn das Feld leer sein kann

      Hallo Roger,
      nur in der 1. Zeile verwendest Du $ für Variable.
      Gruß
      Fri

     Antworten

    Beitrag von Roger (141 Beiträge) am Dienstag, 26.November.2002, 12:59. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann

      Hallo Frieseke,

      das verstehe ich jetzt nicht, das $ habe ich doch überall bei den Variablen eingetragen, oder soll ich das weglassen? Sorry, wagrscheinlich stehe ich auf der Leitung.

      Liebe Grüße

      Roger

     Antworten

    Beitrag von Friesecke (245 Beiträge) am Dienstag, 26.November.2002, 16:06.
    Re: if Abfrage wenn das Feld leer sein kann

      Hallo Roger,
       schau Dir mal Deine Zeile 1 an : das Zeichen für
      Variable = $. ok
      
      In allen anderen Zeilen verwendest Du ein anderes Dollarzeichen. Aber das liegt nicht an Dir, sondern
      an diesem Forum.
      Da bin ich reingefallen, sorry.
      Nun zu Deinem Problem. Es liegt wohl an der Logik.

      1. Hälfte : wenn höchstens nicht leer, dann mindestens und höchstens. Das müßte klappen.
         das erste else : höchstens ist leer, dann willst Du zwar nicht mehr mindestens, aber weiterhin höchstens ausgeben.
      
      Also erscheint höchstens immer, egal ob leer oder nicht.
      In Gedanken warst Du bei diesem else bei mindestens=leer, aber das ist eine Ebene höher.

      Gruß
      Fri

     Antworten

    Beitrag von Roger (141 Beiträge) am Mittwoch, 27.November.2002, 12:04. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann

      Hallo Frisecke,

      Du hast Recht, ich habe hier beim Kopieren in das Forum 2 blöcke vertauchst, $Mindestens und $Hoechstens, jeweils die beiden, wo kein "und" vorkommt.
      Aber das ist nicht das Problem. In allen Fällen, ob nun nur $Hoechstens einen Wert hat oder nur $Mindestens oder gar keiner, es wird immer nur dieser Bewreich abgearbeitet und ausgebenen.



           if ($Ich_suche eq "Mann")
            {
              out " er sollte mindestens ",$Mindestens," Jahre und höchstens ",$Hoechstens," Jahre alt sein";
            }
           if ($Ich_suche eq "Frau")
            {
              out " sie sollte mindestens ",$Mindestens," Jahre und höchstens ",$Hoechstens," Jahre alt sein";
            }
              if ($Ich_suche eq "Paar")
            {
              out " sie sollten mindestens",$Mindestens," Jahre und höchstens ",$Hoechstens," Jahre alt sein";
            }
      

      eigentlich soll dieser Bereich ja Übersprungen werden, wenn einer der Var's keinen Wert besitzt.
      Daß beide Werte leer sind ist ja zu sehen, die Ausgabe sieht dann so aus:
      ---------------
       eine Frau für eine feste Beziehung sie sollte mindestens Jahre und höchstens Jahre alt sein
      
      ---------------
      Wenn ein Mann oder Paar gesucht wird, dann stimmt die Ausgabe, was das Geschlecht angeht und sieht dann so aus:
      ---------------
       einen Mann für eine feste Beziehung er sollte mindestens Jahre und höchstens Jahre alt sein
      

      $Hoechstens und $Mindestens sind als Textfelder angelegt, wie alle Felder in meiner Datenbank.

      Vielleicht hat Sander eine Idee?

     Antworten

    Beitrag von Roger (141 Beiträge) am Mittwoch, 27.November.2002, 12:13. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann

      Jetzt habe ich gerade mal festgestellt, daß, wenn ich mein "Ändernformular" aufrufe in dem folgender Code vorkommt:

      <br>wie/als ich sein<br>und zwischen&nbsp; 
      <INPUT TYPE=TEXT NAME="Mindestens:=" VALUE=$Mindestens SIZE=2 MAXLENGTH=2> und <INPUT TYPE=TEXT NAME="Hoechstens:=" VALUE=$Hoechstens SIZE=2 MAXLENGTH=2> Jahre alt sein.</FONT></TD>
      

      eine leere Variable mit dem Wert " SI " als value gesetzt wird.
      In der Datenbank selber, wenn ich über Baseportal reinschaue, dann ist das Feld wirklich leer.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 27.November.2002, 12:23.
    Re: if Abfrage wenn das Feld leer sein kann

      das wird wohl von SIZE= kommen, da du keine "" bei value benutzt

      sander

     Antworten

    Beitrag von roger (0 Beiträge) am Mittwoch, 27.November.2002, 12:35. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann

      Hallo Sander,

      jetzt wollte ich mich gerade schämen, weil ich schon seit langem die " " weglasse, aber ich habe sie schnell eingesetzt. Keine Änderung.
      Der HTML-Code den mein Browser erhält ist dieser:

      <input TYPE=TEXT NAME="Mindestens:=" VALUE=SI SIZE="2" MAXLENGTH="2"> und <input TYPE=TEXT NAME="Hoechstens:=" VALUE=SI SIZE="2" MAXLENGTH="2"> Jahre alt sein.</font></td>
      <td WIDTH=263>
      

     Antworten

    Beitrag von Robert (133 Beiträge) am Mittwoch, 27.November.2002, 13:14.
    Re: if Abfrage wenn das Feld leer sein kann

      muß es nicht
      <input TYPE=TEXT NAME="Mindestens:=" VALUE=$SI SIZE="2" MAXLENGTH="2"> und <input TYPE=TEXT NAME="Hoechstens:=" VALUE=$SI SIZE="2" MAXLENGTH="2"> Jahre alt sein.</font></td>
      <td WIDTH=263>
      

      heißen ?
      also Value=$SI

      Robert

     Antworten

    Beitrag von rogerwrnr@aol.com (1 Beitrag) am Mittwoch, 27.November.2002, 13:41. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann

      Hallo Robert,

      hier geht es um ein anderes Problem, aber ich werde es noch einmal kurz versuchen zu erklären, auch für alle anderen, die das Problem vielleicht schon einmal gelöst haben.

      Ich habe eine Datenbank zur Partnersuche, dort soll ein $Mindestens und $Hoechstens (alter) eingetragen werden. Jetzt ist es aber so, daß der ein oder andere User eines der beiden Felder oder gar beide leer lassen will, was ja auch einen Sinn macht.

      Eine normale Ausgabe funktioniert ja auch, ein leeres Feld gibt einfach nichts aus und ein gefülltes das, was drinnen ist.
      Leider mußte ich mit viel Schmerzen nun akzeptieren, daß ich mit einer Variablen, die leer ist, nichts anfangen kann. Das Problem für die Abrage zur Formatierung habe ich jetzt vorerst gelöst, dazu gleich mehr.

      Worauf Du jetzt geantwortest hast, ist der Code, der erzeugt wird, wenn eine Variable leer ist.

      Ein Formular mit diesen Eingabefeldern:

      <br>wie/als ich sein<br>und zwischen&nbsp; 
      <INPUT TYPE=TEXT NAME="Mindestens:=" VALUE=$Mindestens SIZE="2" MAXLENGTH="2"> und <INPUT TYPE=TEXT NAME="Hoechstens:=" VALUE=$Hoechstens SIZE="2" MAXLENGTH="2"> Jahre alt sein.</FONT></TD>
      

      Funktioniert enwandfrei, wenn die Werte $Mindestens und $Hoeschstens mit eienm Wert gefüllt sind. Sind sie nicht gefüllt, dann wird angenommen daß ich VALUE=SIZE="2" gewünscht hätte, somit wird die Variable voreingestellt auf SIZE="2" und mein Größenwunsch wird ignoriert.
      Hierzu suche ich jetzt noch eine Lösung, habe aber noch keine vernünftige Idee.

     Antworten

    Beitrag von Roger (141 Beiträge) am Mittwoch, 27.November.2002, 13:47. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann - Lösung

      Hallo Sander,

      aalso mit Variablen ohne Inhalt kann ich nicht arbeiten. Also eine Abfrage ob $Var nicht "" (nichts enthält) geht nicht, es kommt immer "ja" raus, egal ob mit ne oder lt oder gt.

      Dafür habe ich jetzt den ergänzt.

      $Min="ne";
      $Max="ne";
      if ($Mindestens gt "0"){$Min=$Mindestens};
      if ($Hoechstens gt "0"){$Max=$Hoechstens};
      

      Habe ich vor die IF-Schleifen gesetzt und $Mindestens gegen $Min und $Hoechstens gegen $Max ausgetauscht.

      Jetzt funktioniert es.
      Aber verstehen kann ich das nicht wirklich.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 27.November.2002, 13:58.
    Re: if Abfrage wenn das Feld leer sein kann - Lösung

      Poste mal bitte alles, ich nix haben durchblick hier ;-)

     Antworten

    Beitrag von Roger (141 Beiträge) am Mittwoch, 27.November.2002, 14:10. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann - Lösung

      Hallo Sander,

      Da ich das Problem jetzt erkannt habe hier in Kurzform, denke mal, ich muß nicht mehr alles Posten.

      Wenn ich im Template folgendes stehen habe:

      <INPUT TYPE=TEXT NAME="Mindestens:=" VALUE=$Min SIZE="2" MAXLENGTH="2">
      

      aber $Min leer ist, dann wird das so interpetiert:

      <INPUT TYPE=TEXT NAME="Mindestens:=" VALUE=SIZE="2" MAXLENGTH="2">
      


      2. Problem bei leerer Variable:

      if ($Min ne "") {Befehle;}
       
      führt immer dazu, das die Befehle abgearbeitet werden, wobei der Logig nach, $Min ja nicht leer sein sollte umd die Befehle auszuführen.
      

      Habe eben meine Lösungen um dieses Problem zu umgehen gepostet, befürchte aber, das diese Lösungen neue Probleme aufwerfen, wenn die "Un"Logig nicht mehr besteht.

     Antworten

    Beitrag von Roger (141 Beiträge) am Mittwoch, 27.November.2002, 12:27. WWW: einsam-zweisam.de
    Re: if Abfrage wenn das Feld leer sein kann

      Und noch einmal, ich kann jetzt nicht mehr glauben, daß es an meinem Code liegt, auch wenn ich eher noch Anfänger bin.
      Bei dem Template zum Ändern ist mir nicht nur der Wert SI oder ist es Sl aufgefallen, nein, das jeweils letzte Eingabefeld von beiden ohne Inhalt, bzw dem Wert SI ist auch nicht mehr 2 Zeichen Groß, sondern 10 oder 16, habe ich jetzt nicht gezählt, kann aber weiterhin nur 2 Zeichen eingeben.
      Die Datenbank habe ich auch reorganisiert, ohne Veränderung.

      Also irgendetwas müssen diese leeren Felder enthalten, was ich zwar innerhalb von Baseportal nicht sehen kann, aber doch da ist.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 27.November.2002, 12:19.
    Re: if Abfrage wenn das Feld leer sein kann

      Probier das mal:

      $alter=($Mindestens?" mindestens $Mindestens Jahre".($Hoechstens?" und":""):"").($Hoechstens?" höchstens $Hoechstens":"");
      if ($alter)
      {
            if ($Ich_suche eq "Mann")
            {
              out " er sollte$alter Jahre alt sein";
            }
           if ($Ich_suche eq "Frau")
            {
              out " sie sollte$alter alt sein";
            }
              if ($Ich_suche eq "Paar")
            {
              out " sie sollten$alter alt sein";
            }
      }
      

     Antworten

    Beitrag von Friesecke (245 Beiträge) am Dienstag, 26.November.2002, 15:31.
    Re: if Abfrage wenn das Feld leer sein kann

      Hallo Roger,
      nur in der 1. Zeile verwendest Du $ für Variable.
      Gruß
      Fri

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 26.November.2002, 15:54.
    Re: if Abfrage wenn das Feld leer sein kann

      ähm, ohne dir wieder zu nahe zu treten, was meinst du damit?

      die syntax ist schon richtig....
      in Perl wird immer die Var mit $ angesprochen.

      Sander

     Antworten


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