leere Bildeinträge füllen - 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 H.G. (29 Beiträge) am Freitag, 26.Mai.2006, 23:36.
    leere Bildeinträge füllen

      In meiner Ausgabeseite hole ich Bilder mit $objektbild1, §objektbild 2 u.s.w aus der Datenbank. Insgesamt können 4 Bilder je Eintrag gespeichert werden.

      Problem:
      Wenn nur 3 Bilder pro Eintrag zugefügt werden, erscheint da 4 Bild als häßliches Leerfeld.

      Nun möchte ich dieses Leerfeld bzw. Leerfelder entweder nicht angezeigt bekommen oder mit einem Dummybild füllen.

      Wer hat eine Idee?

      Gruß
      H.G.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von H.G. (29 Beiträge) am Freitag, 26.Mai.2006, 23:36.
    leere Bildeinträge füllen

      In meiner Ausgabeseite hole ich Bilder mit $objektbild1, §objektbild 2 u.s.w aus der Datenbank. Insgesamt können 4 Bilder je Eintrag gespeichert werden.

      Problem:
      Wenn nur 3 Bilder pro Eintrag zugefügt werden, erscheint da 4 Bild als häßliches Leerfeld.

      Nun möchte ich dieses Leerfeld bzw. Leerfelder entweder nicht angezeigt bekommen oder mit einem Dummybild füllen.

      Wer hat eine Idee?

      Gruß
      H.G.

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Samstag, 27.Mai.2006, 00:28. WWW: www.meisl.info
    Re: leere Bildeinträge füllen

      ... ich hab das mit einem Perl-Script gelöst, bei dem mir das Forum geholfen hat. Bevor die Bilder aufgerufen werden, wird damit kontrolliert, ob es ein Bild gibt oder nicht (genaugenommen wird die Länge des Bildnamens abgefragt). Mit dieser Abfrage wird dann eine Variable bild1a oder bild1b oder bild1c generiert, in der - wenn vorhanden - der Bildaufruf enthalten ist oder - wenn nicht vorhanden - einfach ein Leerzeichen generiert wird. Die Bilder heissen bei mir bild250a, bild250b und bild250c.


      DIE PRÜFUNG ...
      $bild1a=length($_raw{bild250a})>2 ? "<img src=http://www.pfarrgemeinden.info/files/$_raw{bild250a} align=center>" : "";
      $bild1b=length($_raw{bild250b})>2 ? "<img src=http://www.pfarrgemeinden.info/files/$_raw{bild250b} align=center>" : "";
      $bild1c=length($_raw{bild250c})>2 ? "<img src=http://www.pfarrgemeinden.info/files/$_raw{bild250c} align=center>" : "";
      


      DER BILDAUFRUF (ebenfalls innerhalb der Perl-Schleife) ...
      <div align=center>$bild1a</div>
      <br clear=all>
      <div align=center><span class=bildtext>$bildtext250a</span></div><br>
      <div align=center>$bild1b</div>
      <br clear=all>
      <div align=center><span class=bildtext>$bildtext250b</span></div><br>
      <div align=center>$bild1c</div>
      <br clear=all>
      <div align=center><span class=bildtext>$bildtext250c</span></div><br>
      

     Antworten

    Beitrag von H.G. (29 Beiträge) am Samstag, 27.Mai.2006, 00:34.
    Re: leere Bildeinträge füllen

      Ich habe gerade so etwas gefunden:

      da heißt es:

      <loop db=datenbank code=perl>
      my $Foto = $_raw{Foto};
      $Foto=~s/\s//;
      $a_f_bild ="<img src=/files/$Foto width=250>" if $Foto ne "";
      $a_f_bild ="<img src=/verz/platzhalter.jpg width=249>" if $Foto eq "";
      out <<EOF;
      $a_f_bild
      EOF
      


      Das funktioniert auch in der Einzelabfrage, habe es auf einer extraseite
      probiert.

      nur wie füge ich den code in meinen Quelltext ein?

      <HTML>
      >BODY></P>
      <P><CENTER><TABLE WIDTH="780" BORDER="0" CELLSPACING="0" CELLPADDING="0">
        <TR>
          <TD WIDTH="39%">
          <IMG SRC="http://www.immo-kreis-mettmann.de/images/logo1.gif"
          ALIGN="BOTTOM" BORDER="0">
      </TD>
          <TD COLSPAN="2">
          <P ALIGN=RIGHT><IMG SRC="http://www.immo-kreis-mettmann.de/images/werbung/71_huk24_468x60_blitzer.gif"
          ALIGN="MIDDLE" BORDER="0"></TD>
           
        </TR>
      </TABLE><BR>
      <TABLE WIDTH="780" BORDER="0" CELLSPACING="0" CELLPADDING="0"
      HEIGHT="22">
        <TR>
          <TD BGCOLOR="#bbbbbb" WIDTH="9">
          <P><CENTER><IMG SRC="http://www.immo-kreis-mettmann.de/images/eckenavo.gif"
          WIDTH="9" HEIGHT="22" ALIGN="TOP" BORDER="0" NATURALSIZEFLAG="0"></CENTER></TD>
          <TD BGCOLOR="#bbbbbb">
          <include src=../navoben>
      </TD>
        </TR>
      </TABLE><BR>
      <TABLE WIDTH="780" BORDER="0" CELLSPACING="0" CELLPADDING="0">
        <TR>
          <TD WIDTH="160" VALIGN="TOP">
          <P><CENTER>
      <include src=../navlinks></CENTER></TD>
          <TD WIDTH="460" VALIGN="TOP">
          <P><CENTER><TABLE WIDTH="98%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
            <TR>
              <TD WIDTH="100%" style="border-bottom: 1 solid #000000" style="border-top: 1 solid #000000"
              style="border-left: 1 solid #000000" style="border-right: 1 solid #000000">
              <P><CENTER><BR>
              
      <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
                <TR>
                  <TD>
                  <P>
      <CENTER>
      <!----------------------------Hier beginnt abfrage------------------------------>
      <loop db=mietobjekte>
      </CENTER></P>
      

      <P>
      <CENTER>
      <TABLE WIDTH="96%" BORDER="0" CELLSPACING="5" CELLPADDING="0">
                    <TR>
                      <TD WIDTH="100">
                      <IMG SRC="/files/$_raw{objektbild1}" WIDTH="100" HEIGHT="60"
                      BORDER="0" NATURALSIZEFLAG="0" ALIGN="MIDDLE">
      </TD>
                      <TD BGCOLOR="#00ffff">
                      <P><CENTER><TABLE BORDER="0" CELLSPACING="1" CELLPADDING="0"
                      WIDTH="99%">
                        <TR>
                          <TD COLSPAN="2">
                          <B><FONT COLOR="#000000" SIZE="-1" FACE="Arial">$objektart in
                          $stadt</FONT></B></TD>
                           
                          <TD WIDTH="34%">
                          <P ALIGN=RIGHT><FONT SIZE="-1" FACE="Arial"><A HREF="http://meineDomain.de/cgi-bin/baseportal.pl?htx=/meineDomain.de/immo/mietobjekte/details&Id==$_id">details</A></FONT></TD> 
                        </TR>
                      </TABLE><TABLE BORDER="0" CELLSPACING="1" CELLPADDING="0"
                      WIDTH="99%">
                        <TR>
                          <TD WIDTH="33%" BGCOLOR="#ffffff">
                          <P><CENTER><B><FONT SIZE="-1" FACE="Arial">Zimmer</FONT>&nbsp;</B></CENTER></TD>
                          <TD WIDTH="33%" BGCOLOR="#ffffff">
                          <P><CENTER><B><FONT SIZE="-1">&nbsp;</FONT><FONT SIZE="-1" FACE="Arial">Wohnfl</FONT><FONT
                           SIZE="-1">.</FONT></B></CENTER></TD>
                          <TD WIDTH="34%" BGCOLOR="#ffffff">
                          <P><CENTER><B>&nbsp;<FONT SIZE="-1" FACE="Arial">Kaltmiete</FONT></B></CENTER></TD>
                        </TR>
                        <TR>
                          <TD WIDTH="33%" BGCOLOR="#ffffff">
                          <P><CENTER><FONT COLOR="#000000" SIZE="-1" FACE="Arial">$zimmeranzahl</FONT></CENTER></TD>
                          <TD WIDTH="33%" BGCOLOR="#ffffff">
                          <P><CENTER><FONT COLOR="#000000" SIZE="-1" FACE="Arial">$wohnflaeche</FONT>&nbsp;</CENTER></TD>
                          <TD WIDTH="34%" BGCOLOR="#ffffff">
                          <P><CENTER>&nbsp;<FONT COLOR="#000000" SIZE="-1" FACE="Arial">$kaltmiete</FONT></CENTER></TD>
                        </TR>
                      </TABLE></CENTER></TD>
                    </TR>
                  </TABLE>
      </loop>
      <--------------------------Hier endet Abfrage------------------>
      

      <TABLE WIDTH="100%" BORDER="0" CELLSPACING="10"
                  CELLPADDING="0">
                    <TR>
                      <TD COLSPAN="2">
                      <HR ALIGN=LEFT NOSHADE SIZE="1">
      
      u.s.w

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Samstag, 27.Mai.2006, 11:20.
    Re: leere Bildeinträge füllen

      na einfach analog dazu:
      ....
      <!----------------------------Hier beginnt abfrage------------------------------>
      <loop db=mietobjekte code=perl>
      

      # Beginn bedingte Bildausgabe
      # Bildnamen in Variable 
      my $objektbild1 = $_raw{objektbild1};
      # evtl. vorh. Leerzeichen aus Datenfeldinhalt entfernen
      $objektbild1=~s/\s//;
      # wenn Bild vorhanden ist (da steht was im Datenfeldinhalt), Ausgabe bauen
      $a_objektbild1 ="<img src=/files/$objektbild1 width='100' height='60' border='0' naturalsizeflag='0' align='middle'>" if $objektbild1 ne "";
      # andernfalls Platzhalterbildausgabe bauen
      $a_objektbild1 ="<img src=/verz/platzhalter.jpg width=249>" if $objektbild1 eq "";
      # Ende bedingte Bildausgabe
      out<<EOF;
      <P>
      <CENTER>
      <TABLE WIDTH="96%" BORDER="0" CELLSPACING="5" CELLPADDING="0">
                    <TR>
                      <TD WIDTH="100">
      
                      $a_objektbild1 </TD>                 <TD BGCOLOR="#00ffff">                 <P><CENTER><TABLE BORDER="0" CELLSPACING="1" CELLPADDING="0"                 WIDTH="99%">                   <TR>                     <TD COLSPAN="2">                     <B><FONT COLOR="#000000" SIZE="-1" FACE="Arial">$objektart in                     $stadt</FONT></B></TD>                                           <TD WIDTH="34%">                     <P ALIGN=RIGHT><FONT SIZE="-1" FACE="Arial"><A HREF="http://meineDomain.de/cgi-bin/baseportal.pl?htx=/meineDomain.de/immo/mietobjekte/details&Id==$_id">details</A></FONT></TD>                   </TR>                 </TABLE><TABLE BORDER="0" CELLSPACING="1" CELLPADDING="0"                 WIDTH="99%">                   <TR>                     <TD WIDTH="33%" BGCOLOR="#ffffff">                     <P><CENTER><B><FONT SIZE="-1" FACE="Arial">Zimmer</FONT> </B></CENTER></TD>                     <TD WIDTH="33%" BGCOLOR="#ffffff">                     <P><CENTER><B><FONT SIZE="-1"> </FONT><FONT SIZE="-1" FACE="Arial">Wohnfl</FONT><FONT                      SIZE="-1">.</FONT></B></CENTER></TD>                     <TD WIDTH="34%" BGCOLOR="#ffffff">                     <P><CENTER><B> <FONT SIZE="-1" FACE="Arial">Kaltmiete</FONT></B></CENTER></TD>                   </TR>                   <TR>                     <TD WIDTH="33%" BGCOLOR="#ffffff">                     <P><CENTER><FONT COLOR="#000000" SIZE="-1" FACE="Arial">$zimmeranzahl</FONT></CENTER></TD>                     <TD WIDTH="33%" BGCOLOR="#ffffff">                     <P><CENTER><FONT COLOR="#000000" SIZE="-1" FACE="Arial">$wohnflaeche</FONT> </CENTER></TD>                     <TD WIDTH="34%" BGCOLOR="#ffffff">                     <P><CENTER> <FONT COLOR="#000000" SIZE="-1" FACE="Arial">$kaltmiete</FONT></CENTER></TD>                   </TR>                 </TABLE></CENTER></TD>               </TR>             </TABLE> EOF </loop> <--------------------------Hier endet Abfrage------------------>

      Das wars schon - wenn du mehrere Bilder hast, eben wieder analog zu dem Schritt für ein Bild oben. (halt sinnvollerweise andere Indizes für die Variablennamen nehmen ;-) )

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Samstag, 27.Mai.2006, 11:27.
    Re: leere Bildeinträge..."bissige" Ergänzung dazu

      sorry, den kann ich mir nun doch nicht verkneifen (hab nach dem mir unbekannten Tag "naturalsizeflag" gegoogelt):
      Etwas HTML lernen schadet nix, hier ein paar Tipps:
      http://www.schmager.de/scode.shtml

     Antworten

    Beitrag von H.G. (29 Beiträge) am Sonntag, 28.Mai.2006, 00:55.
    Re: leere Bildeinträge..."bissige" Ergänzung dazu

      hatte ich versehendlich bei Test kopiert. Ich könnte auch sagen:
      Besser mit Charakter Fehler machen, als ohne Charakter keine.
      ;-))

      Gruß
      H.G.

     Antworten

    Beitrag von H.G. (29 Beiträge) am Samstag, 27.Mai.2006, 23:40.
    Re: leere Bildeinträge füllen

      Danke Danke, das funktioniert super.

      Sehr gut!!

      Gruß
      H.G.

     Antworten

    Beitrag von H.G. (29 Beiträge) am Sonntag, 28.Mai.2006, 00:43.
    Re: leere Bildeinträge füllen

      Doch es funktioniert super!!!
      Prima, freue mich sehr. Danke noch einmal.

      Jetzt habe ich das natürlich auch in den Details untergebracht, mit jedoch 4 Bildern. Habe den Code mal eingefügt. Habe aber sonst keine Ahnung von Perl. kann ich den folgenden Code noch kürzen?

      <loop db=mietobjekte code=perl>
      # Bildnamen in Variable 
      my $objektbild1 = $_raw{objektbild1};
      # evtl. vorh. Leerzeichen aus Datenfeldinhalt entfernen
      $objektbild1=~s/\s//;
      # wenn Bild vorhanden ist (da steht was im Datenfeldinhalt), Ausgabe bauen
      $a_objektbild1 ="<img src=/files/$objektbild1 width='100' height='100' border='0' align='middle'>" if $objektbild1 ne "";
      # andernfalls Platzhalterbildausgabe bauen
      $a_objektbild1 ="<img src=http://immo-kreis-mettmann.de/images/blind_details.gif width=100 height=100>" if $objektbild1 eq "";
      # Ende bedingte Bildausgabe
      # Bildnamen in Variable 
      my $objektbild2 = $_raw{objektbild2};
      # evtl. vorh. Leerzeichen aus Datenfeldinhalt entfernen
      $objektbild2=~s/\s//;
      # wenn Bild vorhanden ist (da steht was im Datenfeldinhalt), Ausgabe bauen
      $b_objektbild2 ="<img src=/files/$objektbild2 width='100' height='100' border='0' align='middle'>" if $objektbild1 ne "";
      # andernfalls Platzhalterbildausgabe bauen
      $b_objektbild2 ="<img src=http://immo-kreis-mettmann.de/images/blind_details.gif width=100 height=100>" if $objektbild2 eq "";
      # Ende bedingte Bildausgabe
      # Bildnamen in Variable 
      my $objektbild3 = $_raw{objektbild3};
      # evtl. vorh. Leerzeichen aus Datenfeldinhalt entfernen
      $objektbild3=~s/\s//;
      # wenn Bild vorhanden ist (da steht was im Datenfeldinhalt), Ausgabe bauen
      $c_objektbild3 ="<img src=/files/$objektbild3 width='100' height='100' border='0' align='middle'>" if $objektbild1 ne "";
      # andernfalls Platzhalterbildausgabe bauen
      $c_objektbild3 ="<img src=http://immo-kreis-mettmann.de/images/blind_details.gif width=100 height=100>" if $objektbild3 eq "";
      # Ende bedingte Bildausgabe
      # Bildnamen in Variable 
      my $objektbild4 = $_raw{objektbild4};
      # evtl. vorh. Leerzeichen aus Datenfeldinhalt entfernen
      $objektbild4=~s/\s//;
      # wenn Bild vorhanden ist (da steht was im Datenfeldinhalt), Ausgabe bauen
      $d_objektbild4 ="<img src=/files/$objektbild4 width='100' height='100' border='0' align='middle'>" if $objektbild4 ne "";
      # andernfalls Platzhalterbildausgabe bauen
      $d_objektbild4 ="<img src=http://immo-kreis-mettmann.de/images/blind_details.gif width=100 height=100>" if $objektbild4 eq "";
      # Ende bedingte Bildausgabe
      out<<EOF;
      

      Danke im voraus.

      Gruß
      H.G.

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Sonntag, 28.Mai.2006, 11:21.
    Re: leere Bildeinträge füllen

      man kann das in ne Schleife packen und dynamische Variablennamen (mit dem Index der Nummer des Schleifendurchlaufes) bauen - ungefähr so (ist aber jetzt nicht getestet, kann sein, dass irgendwo noch ein Schweinchen bei der Syntax drin ist)
      ---schnipp
      <loop db=mietobjekte code=perl>
      $zahl_bilder=4; # Anzahl der Durchläufe / hier vorh. Bilder
         for my $index(1..$zahl_bilder){ # A for-Schleife
            # Bildnamen in Variable
            my ${"objektbild$index"} = $_raw{"objektbild$index"};
            # evtl. vorh. Leerzeichen aus Datenfeldinhalt entfernen
            ${objektbild$index}=~s/\s//;
            # wenn Bild vorhanden ist (da steht was im Datenfeldinhalt), Ausgabe bauen
            ${"a_objektbild1$index"} ="<img src=/files/${"objektbild$index"} width='100' height='100' border='0' align='middle'>" if ${"objektbild$index"} ne "";
            # andernfalls Platzhalterbildausgabe bauen
            ${"a_objektbild$index"} ="<img src=http://immo-kreis-mettmann.de/images/blind_details.gif width=100 height=100>" if ${"objektbild$index"} eq "";
            # Ende bedingte Bildausgabe
         } # E for-Schleife
      
      ---schnapp
      Jetzt kann man dann im weiteren Verlauf des Scriptes einfach die Variablen $ojektbild1 bis $objektbild4 ansprechen und ausgeben lassen.
      Zu beachten die geschweiften Klammern und das Quoting innerhalb dieser bei den dynamischen Variablennamen.
      So sparst du dir einfach das mehrfache hinschreiben und der Code des Templates wird kürzer (aber für Perl-Beginner auch schwerer verständlich!)
      Na denne...

     Antworten

    Beitrag von H.G. (29 Beiträge) am Samstag, 27.Mai.2006, 01:24.
    Re: leere Bildeinträge füllen

      Danke für den Tip, funktioniert jedoch bei mir nicht.

      Gruß
      H.G.

     Antworten

    Beitrag von Thomas H. (180 Beiträge) am Samstag, 27.Mai.2006, 14:23.
    Re: leere Bildeinträge füllen

      Es geht aber noch einfacher mit dem "Bildausfüllen".
      Zumindest, wenn die Bilder alle die gleiche Pixelgröße haben.
      Einfach an die Stelle in der Ausgabe ein Hintergrundbild hinterlegen,
      was genauso groß ist.
      Ist ein Bild da wird es überdeckt, wenn nicht dann erscheint es.


      Gruß
      Thomas

     Antworten


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