Re: Re: Re: Re: Re: problem mit if - 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 sascha (539 Beiträge) am Montag, 22.September.2008, 01:37.
    Re: Re: Re: Re: Re: problem mit if

      hat sich erledigt - geht auch so.
      super & danke nochmal!
      sascha


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von sascha (539 Beiträge) am Mittwoch, 17.September.2008, 17:29.
    problem mit if

      hallo,

      in meiner db habe ich pro eintrag 3 textfelder, text_freizeit, text_umgebung, text_ausflugsziel.
      kann ich das so steuern, dass immer nur ein textbaustein angezeigt wird?

      da ein textfeld nicht sortierbar ist, könnte ich notfalls jeweils ein textfeld ergänzen, das sortiert werden kann.

      bei dem if blicke ich einfach nicht durch. hier mal mein ansatz.
      hat jemand einen tipp?
      danke
      sascha

      <loop db=gruppe code=perl>
      

      out <<EOF;

      <li><a href=".../seite&Id==$Id&Text_Umgebung==1">Umgebung</a></li>
      <li><a href=".../seite&Id&Text_Freizeit==1">Freizeit</a></li>
      <li><a href=".../seite&Id==$Id&Text_Ausflugsziel==1">Ausflugsziele</a></li>
      EOF
      

      if($Text_Freizeit eq 1)
      {
      out "$Text_Freizeit";
      }
      if($Text_Umgebung  eq 1)
      {
      out "$Text_Umgebung";
      }
      if($Text_Ausflugsziel eq 1)
      {
      out "$Text_Ausflugsziel";
      }
      out <<EOF;
      

      ..

     Antworten

    Beitrag von sascha (539 Beiträge) am Mittwoch, 17.September.2008, 17:59.
    Re: problem mit if

      ich habe jetzt zusätzlich je eincheckboxfeld "textumgebung" "textausflugsziel" und "textfreizeit" angelegt, dass ich sortieren kann, jedch wird mein if ignoriert :-(
      sascha

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 17.September.2008, 18:38.
    Re: Re: problem mit if

      hatte die doppelten "==" bei Text_xxx übersehen, also so:

      <loop db=gruppe code=perl>
      out <<EOF;
      <li><a href=".../seite&Id==$Id&Text_Umgebung=1">Umgebung</a></li>
      

      <li><a href=".../seite&Id&Text_Freizeit=1">Freizeit</a></li>
      <li><a href=".../seite&Id==$Id&Text_Ausflugsziel=1">Ausflugsziele</a></li>
      EOF
      if($Text_Freizeit eq "1")
      {
      out "$Text_Freizeit";
      }
      elsif($Text_Umgebung eq "1")
      {
      out "$Text_Umgebung";
      }
      elsif($Text_Ausflugsziel eq "1")
      {
      out "$Text_Ausflugsziel";
      }else
      {
      out"Bitte treffen Sie eine Auswahl";
      }
      </loop>
      

     Antworten

    Beitrag von sascha (539 Beiträge) am Mittwoch, 17.September.2008, 20:13.
    Re: Re: Re: problem mit if

      werd ich mal probieren.
      danke erstmal.
      sascha

     Antworten

    Beitrag von sascha (539 Beiträge) am Mittwoch, 17.September.2008, 20:25.
    Re: Re: Re: Re: problem mit if

      so ähnlich hatte ich es ja schon probiert.
      mit den zusätzlichen checkboxfeldern text... klappt es auch nicht.
      und bei Id muß ich == nehmen, weil bei = alle einträge angezeigt werden.

      sascha

      <loop db=gruppen code=perl>
      

      out <<EOF;
      <li><a href="...seite&Id==$Id&textfreizeit=1">Freizeit</a></li>
      <li><a href="...seite&Id==$Id&textumgebung=1">Umgebung</a></li>
      

      EOF
      if($textfreizeit eq "1")
      {
      out "$Text_Freizeit";
      }
      elsif($textumgebung eq "1")
      {
      out "$Text_Umgebung";
      }
      }else
      {
      out"Bitte treffen Sie eine Auswahl";
      }
      out <<EOF;
      
      ....
      EOF

      </loop>
      

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 17.September.2008, 18:19.
    Re: problem mit if

      Ich arbeite nicht mit loop, aber probier mal so:

      <loop db=gruppe code=perl>
      out <<EOF;
      

      <li><a href=".../seite&Id==$Id&Text_Umgebung==1">Umgebung</a></li>
      <li><a href=".../seite&Id&Text_Freizeit==1">Freizeit</a></li>
      <li><a href=".../seite&Id==$Id&Text_Ausflugsziel==1">Ausflugsziele</a></li>
      EOF
      if($Text_Freizeit eq "1")
      {
      out "$Text_Freizeit";
      }
      elsif($Text_Umgebung eq "1")
      {
      out "$Text_Umgebung";
      }
      elsif($Text_Ausflugsziel eq "1")
      {
      out "$Text_Ausflugsziel";
      }else
      {
      out"Bitte treffen Sie eine Auswahl";
      }
      </loop>
      
      hth

      Gruesse

      Claus

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Mittwoch, 17.September.2008, 20:50.
    Re: problem mit if

      Wenn ich dich recht verstehe dann hast du 3 textfelder in der Datenbank (die alle mehr oder weniger gefüllt sind) und möchtest in der Ausgabe "einmal" auswählen können welches davon angezeigt wird? Also nicht pro eintrag und nicht speichernd?

      Dann gehört diese Auswahl ausserhalb des loop weil sie bestimmt nur einmal angezeigt werden soll.

      <perl>
      out "<ul>"; #gehört dabei
      foreach(Freizeit,Umgebung,Ausflugsziel){ #schleife für jedes dieser elemente
      out "<li><a href=\".../seite&Id&Anzeigetext==$_\">$_</a></li>"; #die elemente stehen in $_
      }
      out "<ul>";
      $Text_ = "Bitte treffen Sie eine Auswahl"; #"nichts" variable vorbelegen
      

      get undef,"gruppe";
      while(get_next('gruppe')){
      out ${"Text_$Anzeigetext"};   # Variablennamen aus einer anderen Variable 
      }
      </perl>
      

      Alternativ kannst du es auch mit loop machen, nur wenn man eh schonmal mit perl anfängt....
      <loop code=perl db=gruppe>
      out ${"Text_$Anzeigetext"};
      </loop>
      

      Oder wird immer nur ein Textfeld gefüllt? Und es soll mit in der DB gespeichert werden welches? oder soll nur ein Umgebender Text angezeigt werden wenn etwas in dem Textfeld steht? Wofür soll das checkboxfeld sein?->

      out "Die angebotene Freizeit ist $Text_Freizeit" if $Text_Freizeit ne "";
      

      Gebe mal bitte ein Beispiel

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 17.September.2008, 22:38.
    Re: Re: problem mit if

      foreach(Freizeit,Umgebung,Ausflugsziel){ 
      
      sollte
      foreach("Freizeit","Umgebung","Ausflugsziel"){
      sein.

      nich nachlässig werden ;)

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Donnerstag, 18.September.2008, 11:43.
    Re: Re: Re: problem mit if

      Perl versteht mich schon.

      Aber hast natürlich recht, korrekt ist es so. ;)

     Antworten

    Beitrag von sascha (539 Beiträge) am Freitag, 19.September.2008, 09:34.
    Re: Re: problem mit if

      hallo pouraga,

      ich habe eine db mit 3 verschiedenen textfeldern:
      - Text_Freizeit
      - Text_Ausflugsziel
      - Text_Umgebung

      dazu gehörig 3 checkboxfelder:
      - textfreizeit
      - textausflugsziel
      - textumgebung

      wenn ich das zugehörige checkboxfeld anklicke, soll es in der navi erscheinen, dann ist auch text im textfeld.

      wähle ich einen der 3 links aus, wird nur ein text angezeigt, entweder
      "Text_Freizeit", "Text_Umgebung" oder "Text_Ausflugsziel".

      wenn ich deinen vorschlag versuche, kommt die meldung, dass das feld "anzeigentext" nicht existiert. die felder haben ja auch 3 unterschiedliche bezeichnungen - das paßt doch nicht, oder?

      so klappts auch nicht :-(

      <loop db=gruppe code=perl>
      out <<EOF;
      

      <li><a href="...&Id==$Id&textfreizeit==1">Freizeit</a></li>
      <li><a href="...&Id==$Id&textumgebung==1">Umgebung</a></li>
      <li><a href="...&Id==$Id&textausflugsziel==1">Ausflugsziele</a></li>
      EOF
      if($textfreizeit eq "1")
      {
      out "$Text_Freizeit";
      }
      elsif($textumgebung eq "1")
      {
      out "$Text_Umgebung";
      }
      elsif($textausflugsziel eq "1")
      {
      out "$Text_Ausflugsziel";
      }else
      {
      out"Bitte treffen Sie eine Auswahl";
      }
      </loop>
      

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Freitag, 19.September.2008, 13:34.
    Re: Re: Re: problem mit if

      Es handelt sich also wenn ich dich recht verstehe um einen bestimmten Eintrag den du anzeigen möchtest und nicht alle. Die Seite wurde schon mit einer belegten $Id aufgerufen...
      Dann brauchst du doch garkein loop, oder get_next

      ---------
      War nur ein = zuviel, sodass er bei undef, Anzeigetext als Abfrage verwendet hat.
      out ${"Text_$Anzeigetext"}; 
                  ^- Das ist eine Variable, Variable  (Freizeit, Umgebung oder Ausflugsziele)     
      

      ---------

      Bevor das hier jetzt ewig hin und her geht. Ist es das was du möchtest? (ohne die DB Ausgabe, die ist hier nur zum testen) Ich habe es mal ohne Checkbox gemacht und auf leer abgefragt.

      http://baseportal.de/cgi-bin/baseportal.pl?htx=/Pouraga/test/anzeigetext/demo

      Source
      http://baseportal.de/cgi-bin/baseportal.pl?show=/Pouraga/test/anzeigetext/demo

     Antworten

    Beitrag von sascha (539 Beiträge) am Samstag, 20.September.2008, 23:02.
    Re: Re: Re: Re: problem mit if

      hallo pouraga,

      JA - das ist (fast) genau was ich möchte und funktioniert :-)

      die checkboxfelder brauche ich aber um irgendwie die navigation
      zu beeinflussen, denn wenn ich z.b. in einem textareafeld
      keine inhalt habe, soll es auch nicht in der navigation
      erscheinen.
      kann ich das den da direkt integrieren?

      danke
      sascha

     Antworten

    Beitrag von sascha (539 Beiträge) am Montag, 22.September.2008, 01:37.
    Re: Re: Re: Re: Re: problem mit if

      hat sich erledigt - geht auch so.
      super & danke nochmal!
      sascha

     Antworten


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