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
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
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
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