Beitrag von Conny (70 Beiträge) am Dienstag, 27.August.2002, 14:49.
Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
Hallo Sander,
wieder mal ich :-)
hab mir zwar jetzt das Buch "Einführung in Perl gekauft" und übe auch schon mit mehr oder weniger guten Ergebnissen, aber ich kriegs einfach nicht hin (grrrrr).
Wie und vor allem wo kann ich hier die Anweisung einbinden, dass nur dann das "<a href='mailto:$eMail'>$eMail</a>" nur dann angezeigt wird, wenn in der Datenbank ein Eintrag vorhanden ist.
Ich weiß du hast mir das mal mit <loop> gezeigt, aber wenn ich versuche das umzusetzten haut das nicht hin.
Kannst du mir 'nen kleinen Denkanstoss geben? ;-)
<perl>
return if $_fullsearch eq "";
get "fullsearch_match=100", "/testdb/branchen";
while(get_next "/testdb/branchen")
{
$Rubrik=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Firma=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Firma2=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Strasse=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$PLZ=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Ort=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Internet=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$eMail=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Text=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$out.=<<EOF;
<table width=535><tr>
<td colspan=2><li> Branche: <b>$Rubrik</b> </td>
</tr><tr>
<td width=50%><p><b>$Firma $Firma2 </b></p></td>
<td width=50%>Internet: <b><a href='$Internet' target='_blank'>$Internet</a></b></td>
</tr><tr>
<td><p>$Strasse</p></td>
<td><a href='mailto:$eMail'>$eMail</a></td>
</tr><tr>
<td colspan="2"><p>$PLZ $Ort</p></td>
</tr><tr>
<td colspan=2><p>$Text</p></td>
</tr></table>
<img src="../pictures_ka/rule.gif"><br>
EOF
usw...
Danke Conny
Antworten
Beitrag von hempelr (1976 Beiträge) am Dienstag, 27.August.2002, 15:18.
Re: Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
Antworten
Beitrag von Conny (70 Beiträge) am Dienstag, 27.August.2002, 16:48.
Re: Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 27.August.2002, 17:28.
Re: Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
was genau verstehst du nicht?
ich hab $eMail vor dem out << EOF neu belegt, wenns nicht leer ist...
Bei dir fehlt wohl noch das Ende vom link....
Sander
Antworten
Beitrag von Conny (70 Beiträge) am Dienstag, 27.August.2002, 17:41.
Re: Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
Sorry, hab ich total übersehen :-(
Danke für deine Hilfe.
Antworten
Beitrag von Conny (70 Beiträge) am Dienstag, 27.August.2002, 18:22.
Re: Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
Antworten
Beitrag von hempelr (1976 Beiträge) am Dienstag, 27.August.2002, 20:44.
Re: Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
Sorry, Conny, hatte natürlich nicht beachtet, daß du die Ausgabe in ne var $out schreibst, also es muß richtig heißen:
if ($eMail ne "")
{$out.="<a href='mailto:$eMail'>$eMail</a>";}
$out.=<<EOF;
</td></tr>
<tr>
<td colspan="2"><p>$PLZ $Ort</p></td>
</tr><tr>
<td colspan=2><p>$Text</p></td>
</tr></table>
<img src="../pictures_ka/rule.gif"><br>
EOF
Aber so wie Sanders Vorschlag ist geht es gleichfalls, und du mußt den EOF-Block nicht unterbrechen. (ich selbst hasse das ungemein, solche Blöcke zu unterbrechen, da ist Sanders Lösung eh die bessere!)
Mit dem Bild das sollte aber auch genauso gehen, kommt aber drauf an, als was du dein Feld $Logo definiert hast. Schau dir doch am besten mal den Quelltext der Seite an, wenn sie geladen ist, irgendwie sieht man so oft Fehler bei der HTML-Generierung.
Axo - Ist Perl schwer oder leicht? - ich denke es ist ein mächtiges Werkzeug, dessen Handhabung zu lernen man nie fertig wird.....
Ruben
Antworten
Beitrag von Conny (70 Beiträge) am Dienstag, 27.August.2002, 21:14.
Re: Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
Hallo Ruben,
danke für die Unterstützung. Hab die Quelltexte
der loop-Ausgabe (hier hats nämlich funktioniert) und der perl-Ausgabe verglichen und den Fehler entdeckt.
Manchmal können so simple Dinge einem auf die Sprünge helfen.
Aber halt nur wenn man weiß wo man nachsehen kann.
grins ;-)
Nochmals danke -auch an Sander.
Conny
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 27.August.2002, 15:20.
Re: Perlanweisung in Suche für "Ausgabe nur dann wenn Feld mit Inhalt"
get "fullsearch_match=100", "/testdb/branchen";
while(get_next "/testdb/branchen")
{
$Rubrik=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Firma=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Firma2=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Strasse=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$PLZ=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Ort=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Internet=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$eMail=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$Text=~ s#$_fullsearch_regex#<b><font color=C62121>$1</font></b>#g;
$eMail="<a href='mailto:$eMail'>$eMail</a>" if $eMail;
$out.=<<EOF;
<table width=535><tr>
<td colspan=2><li> Branche: <b>$Rubrik</b> </td>
</tr><tr>
<td width=50%><p><b>$Firma $Firma2 </b></p></td>
<td width=50%>Internet: <b><a href='$Internet' target='_blank'>$Internet</a></b></td>
</tr><tr>
<td><p>$Strasse</p></td>
<td>$eMail</td>
</tr><tr>
<td colspan="2"><p>$PLZ $Ort</p></td>
</tr><tr>
<td colspan=2><p>$Text</p></td>
</tr></table>
<img src="../pictures_ka/rule.gif"><br>
Sander
Antworten