Beitrag von Det63 (98 Beiträge) am Montag, 27.April.2009, 21:37.
Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
N'Abend Allerseits,
weil ich im Forum und der Doku nicht fündig geworden bin, möchte ich hier eine allgemeine Frage stellen.
Ich lege eine Datenbank (Mietpaket) mit 5 Datenfelder an. Der einfachheithalber nennen wir sie A,B,C,D und E.
Im dazugehörigen Template kann ich ja unter Einstellungen festlegen, welche Felder später in der Ausgabe angezeigt werden! Sagen wir mal, es sollen die Felder A,B und C für jedermann sichtbar angezeigt werden. Somit erscheinen bei Aufruf eines Datensatzes immer die 3 Felder, unabhängig ob die Felder Informationen enthalten oder leer sind!
Wäre es möglich die Ausgabe davon abhängig zu machen, ob die Datenfelder AUCH Informationen enthalten?
Enthalten die Datenfelder A,B, und C Informationen, dann sollen alle 3 Datenfelder angezeigt werden. Enthält ein Datensatz aber zum Beispiel im Feld C keine Informationen, dann sollen auch nur die Felder A und B angezeigt werden und Datenfeld C gänzlich unterdrückt werden?
Gibt es hierfür eine einfache Möglichkeit, oder muß man dies mittels PERL, wovon ich keine Ahnung habe, realisieren?
Da mein Vorhaben bisher nur im Kopf exestiert, kann ich noch keinen Link/Code beifügen.
Schon mal Danke für jeden Rat/Tipp
Gruß
Det63
Antworten
Beitrag von sebastian (533 Beiträge) am Dienstag, 28.April.2009, 09:03.
Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 28.April.2009, 10:09.
Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Antworten
Beitrag von sebastian (533 Beiträge) am Dienstag, 28.April.2009, 10:28.
Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
bei mir gehts auch so, toll oder
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 28.April.2009, 11:09.
Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 28.April.2009, 11:34.
Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
in beiden, is nämlich nix bp-eigenes sondern pures perl
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 28.April.2009, 11:43.
Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Sorry,
kannte nur die andere Variante und hatte das noch nie so versucht...
Gruesse
Claus
Antworten
Beitrag von Det63 (98 Beiträge) am Dienstag, 28.April.2009, 13:11.
Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Hallo
und Danke für Eure Antworten!!! Aber wie gesagt bin ich auf dem Gebiet ein Dummy und deshalb sieht mein Ergebnis leider wie folgt aus.
Link: http://www.db-check.de/cgi-bin/baseportal.pl?htx=/db-check.de/test
Code:
<html><head>
<title>baseportal Datenbank</title>
</head><body bgcolor=ffffff>
<loop code=perl>
out "AUSGABE DEINES FELDES WENN NICHT LEER $A" if $A ne "";
out "AUSGABE DEINES FELDES WENN NICHT LEER $B" if $B ne "";
out "AUSGABE DEINES FELDES WENN NICHT LEER $C" if $C ne "";
</loop>
<do action=all localparams=+ db=test range^=0,20 searchfields=A listfields=A,B,C allfields=A,B,C formfields=A,B,C showamount=all,sel selectbrowse=top buttonbrowse=top pagebrowse=top indexbrowse=top listtype=list language=de detail=no search=link input=no>
</body></html>
Habe bei meiner "Unfähigkeit" auch das eine oder andere versucht, aber immer ohne Erfolg :o(
Gruß Det63
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 28.April.2009, 13:19.
Re: Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
<loop code=perl>
out "Feldname1: $A" if $A ne "";
out "Feldname2: $B" if $B ne "";
out "Feldname3: $C" if $C ne "";
</loop>
also z.B.:
<loop code=perl>
out "A: $A<br>" if $A ne "";
out "B: $B<br>" if $B ne "";
out "C: $C<br>" if $C ne "";
</loop>
Gruesse
Claus
Antworten
Beitrag von Det63 (98 Beiträge) am Dienstag, 28.April.2009, 15:35.
Re: Re: Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Hallo Claus,
habe deinen Code wie folgt eingebaut/ersetzt.
<html><head>
<title>baseportal Datenbank</title>
</head><body bgcolor=ffffff>
<loop code=perl>
out "Feldname1: $A" if $A ne "";
out "Feldname2: $B" if $B ne "";
out "Feldname3: $C" if $C ne "";
</loop>
<do action=all localparams=+ db=test range^=0,20 searchfields=A listfields=A,B,C allfields=A,B,C formfields=A,B,C showamount=all,sel selectbrowse=top buttonbrowse=top pagebrowse=top indexbrowse=top listtype=list language=de detail=no search=link input=no>
</body></html>
Aufruf http://www.db-check.de/cgi-bin/baseportal.pl?htx=/db-check.de/test
Dennoch bleibt das Ergebnis gleich. Oberhalb der eigentlichen Datenbank werden alle Felder mit Inhalt aufgeführt. Gebe ich unter Suche eine 3 (für den 3.Datensatz ein), wird immer noch das Datenfeld C ohne Inhalt angezeigt!
Kann das sein, dass nach dem <loop> ..... </loop> wo es mit <do action weitergeht, Informationen stehen die dort nicht hingehören?
Gruß Det63
Antworten
Beitrag von richard (1187 Beiträge) am Dienstag, 28.April.2009, 15:49. WWW: posaunenchor-rhoden.de
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 28.April.2009, 17:00.
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Sowohl "loop" als auch "get" haben eigentlich nichts mit <do action=all zu tun...
Mit loop arbeite ich grundsätzlich nicht (habe das auch nie groß probiert), da imho "get" der wesentlich bessere und mächtigere Befehl ist, zumal man "get" auch noch mit do_all kombinieren kann, was bei loop imho nicht möglich ist
Mag mich da aber auch irren...
Ansonsten, willkommen in der Welt der freien Programmierung...
Gruesse
Claus
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 28.April.2009, 17:05.
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Achja, hatte ich noch vergessen, mit ein paar Tricks kann man auch so zum Erfolg kommen, hatte Dir ja gerade per mail auf Deine andere Frage schon eine Möglichkeit aufgezeigt...;)
Gruesse
Claus
Antworten
Beitrag von sebastian (533 Beiträge) am Dienstag, 28.April.2009, 19:13.
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
schaue mal hier:
<b>AUSGABE FELDER - NUR WENN INHALT<br><br></b>
<loop db=abc code=perl>
out "Feldname 1: $A<br><br>" if $A ne "";
out "Feldname 2: $B<br><br>" if $B ne "";
out "Feldname 3: $C<br><br>" if $C ne "";
</loop>
<hr><br>
<b>AUSGABE ALLER FELDER<br><br></b>
<loop db=abc code=perl>
out "Feldname 1: $A<br><br>";
out "Feldname 2: $B<br><br>";
out "Feldname 3: $C<br><br>";
</loop>
http://baseportal.de/cgi-bin/baseportal.pl?htx=/sebio/abc
Antworten
Beitrag von Det63 (98 Beiträge) am Dienstag, 28.April.2009, 23:43.
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Ich streich die Segel und werde mir etwas anderes für mein Vorhaben überlegen.
So wie ich da bisher sehe, wurde ich vielleicht auch nur missverstanden?
Mir ging es darum, dass wenn ich den Nutzer nach/im Datenfeld A suchen lasse und ein dazugehöriger Datensatz vorhanden ist, dann auch nur die weiteren Datenfelder B und C angezeigt werden, sofern in diesen Datenfeldern Informationen hinterlegt sind!!!
http://www.db-check.de/cgi-bin/baseportal.pl?htx=/db-check.de/test
Gebe ich unter Suche eine 1 ein, dann werden die dazugehörigen Felder B und C wie gewünscht angezeigt/ausgegeben
Gebe ich aber unter Suche eine 3 ein, dann werden wiederum die Felder B und C angezeigt/ausgegeben, obwohl in diesem Datensatz das Feld C leer ist! Und mir ging es eigentlich nur darum, in diesem Fall die Ausgabe von Feld C zu unterbinden/unterdrücken, weil es keine Informationen enthält!!!
Dennoch danke ich Euch für die von Euch investierte Zeit und Mühe und wünsche eine Gute Nacht
Gruß Det
Antworten
Beitrag von Claus (4645 Beiträge) am Mittwoch, 29.April.2009, 10:39.
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Anzeige eines Datenfeldes nur wenn Informationen darin enthalten sind...
Antworten