Leeres Feld nicht im Template zeigen - 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 Susanne (45 Beiträge) am Sonntag, 5.September.2004, 15:14.
    Leeres Feld nicht im Template zeigen

      Liebe Könner,
      ich bin verzweifelt, ich habe gestern nacht bis im 4 Uhr an dieser Sache rumgefummelt und habe es einfach nicht hingekriegt:

      Ich weiß ansich, wie ich ein leeres Feld unterdrücke:
        
      <loop code=perl>
       
      out "Land: ",($Land),"<br>";
      out "Artikel: ",($Artikel),"<br>";
      if ($Beschreibung ne " ") {out "Beschreibung: ",($Beschreibung),"<br>";}
      out "Portion: ",($Portion),"<br>";
      

      </loop>

      Nun habe ich mir vor ca. einem Jahr ein Template zusammengebastelt, das nach einem Feld (Kategorie) sortiert werden sollte.
      Das hat auch gut geklappt.

      In dieses Template möchte ich nun einfügen, dass das Feld "Beschreibung" nur ausgegeben wird, wenn was drinsteht. Das Template sieht wie folgt aus:

      <html><head><title>Gesammelte Rezepte</title>
      <style type="text/css">
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      </style>
      </head>
      

      <body>

      <center>
      <do action=list listtype=search db=Spezialitaeten listfields=Kategorie,Land searchfields=Kategorie,Land>
      

      <table bgcolor="ffbb00" border="1" bordercolor="ffaa00"
      style="border-left:5px solid #cc6600;
      border-right:5px solid #cc3300;
      border-top:5px solid #cc6600;
      border-bottom:5px solid #cc3300;">


      <!---Tabellenkopf-->
      <tr>
      <td><font size="3pt"><b>Land</b></font></td>
      <td><font size="3pt"><b>Artikel</b></font></td>
      <td><font size="3pt"><b>Beschreibung</b></font></td>
      <td><font size="3pt"><b>Portion</b></font></td>
      <td><font size="3pt"><b>Preis</b></font></td>
      <td>&nbsp;</td></tr>
      <!---Datenbankausgabe-->
      

      <loop code=perl db=Spezialitaeten sort=Kategorie,PK1,Artikel>

      if ($kt ne $Kategorie){
       
      out "<tr><td>$Kategorie</td></tr>"; 
        $kt = $Kategorie; 
      

      }

      out<<"EOF";
      <tr>
      <td class="oben"><font size="2">$Land</font></td>
      <td class="oben"><font size="2">$Artikel</font></td>
      <td class="oben"><font size="1pt">$Beschreibung</font></td>
      <td class="oben"><font size="2">$Portion</font></td>
      <td class="oben"><font size="2">$Preis</font></td>
      <td class="oben"><font size="2">€</font></td>
      </tr>
       
      EOF
      

      </loop>
      </table> 
      </body></html>
      

      Und ich schaffe es einfach nicht, in das Ganze die IF-Zeile so einzufügen, dass es klappt. Vielleicht war ich so nachts um 4 Uhr einfach nur noch blöd.
      Kann jemand helfen?

      Liebe Grüße,
      Susanna


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Susanne (45 Beiträge) am Sonntag, 5.September.2004, 15:14.
    Leeres Feld nicht im Template zeigen

      Liebe Könner,
      ich bin verzweifelt, ich habe gestern nacht bis im 4 Uhr an dieser Sache rumgefummelt und habe es einfach nicht hingekriegt:

      Ich weiß ansich, wie ich ein leeres Feld unterdrücke:
        
      <loop code=perl>
       
      out "Land: ",($Land),"<br>";
      out "Artikel: ",($Artikel),"<br>";
      if ($Beschreibung ne " ") {out "Beschreibung: ",($Beschreibung),"<br>";}
      out "Portion: ",($Portion),"<br>";
      

      </loop>

      Nun habe ich mir vor ca. einem Jahr ein Template zusammengebastelt, das nach einem Feld (Kategorie) sortiert werden sollte.
      Das hat auch gut geklappt.

      In dieses Template möchte ich nun einfügen, dass das Feld "Beschreibung" nur ausgegeben wird, wenn was drinsteht. Das Template sieht wie folgt aus:

      <html><head><title>Gesammelte Rezepte</title>
      <style type="text/css">
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      .unten { vertical-align:bottom; }
      </style>
      </head>
      

      <body>

      <center>
      <do action=list listtype=search db=Spezialitaeten listfields=Kategorie,Land searchfields=Kategorie,Land>
      

      <table bgcolor="ffbb00" border="1" bordercolor="ffaa00"
      style="border-left:5px solid #cc6600;
      border-right:5px solid #cc3300;
      border-top:5px solid #cc6600;
      border-bottom:5px solid #cc3300;">


      <!---Tabellenkopf-->
      <tr>
      <td><font size="3pt"><b>Land</b></font></td>
      <td><font size="3pt"><b>Artikel</b></font></td>
      <td><font size="3pt"><b>Beschreibung</b></font></td>
      <td><font size="3pt"><b>Portion</b></font></td>
      <td><font size="3pt"><b>Preis</b></font></td>
      <td>&nbsp;</td></tr>
      <!---Datenbankausgabe-->
      

      <loop code=perl db=Spezialitaeten sort=Kategorie,PK1,Artikel>

      if ($kt ne $Kategorie){
       
      out "<tr><td>$Kategorie</td></tr>"; 
        $kt = $Kategorie; 
      

      }

      out<<"EOF";
      <tr>
      <td class="oben"><font size="2">$Land</font></td>
      <td class="oben"><font size="2">$Artikel</font></td>
      <td class="oben"><font size="1pt">$Beschreibung</font></td>
      <td class="oben"><font size="2">$Portion</font></td>
      <td class="oben"><font size="2">$Preis</font></td>
      <td class="oben"><font size="2">€</font></td>
      </tr>
       
      EOF
      

      </loop>
      </table> 
      </body></html>
      

      Und ich schaffe es einfach nicht, in das Ganze die IF-Zeile so einzufügen, dass es klappt. Vielleicht war ich so nachts um 4 Uhr einfach nur noch blöd.
      Kann jemand helfen?

      Liebe Grüße,
      Susanna

     Antworten

    Beitrag von Tina (259 Beiträge) am Sonntag, 5.September.2004, 16:28. WWW: ZERGportal.de
    Re: Leeres Feld nicht im Template zeigen

      EOF raus und alles in einem Perlblock rein.
      
      Unter perl muß " entweder maskiert werden ... size=\"2\" oder durch ' ersetzt werden, so wie ich es gemacht habe ;-)


      if ($kt ne $Kategorie){
      

      out "<tr><td>$Kategorie</td></tr>";
       
      $kt = $Kategorie; 
      }
       
      out "<tr>
      <td class='oben'><font size='2'>$Land</font></td>
      <td class='oben'><font size='2'>$Artikel</font></td>";
      if ($Beschreibung ne "")
      {
      out "<td class='oben'><font size='1pt'>$Beschreibung</font></td>";
      }
      out "<td class='oben'><font size='2'>$Portion</font></td>
      <td class='oben'><font size='2'>$Preis</font></td>
      <td class='oben'><font size='2'>€</font></td>
      </tr>";
      

      </loop>
      </table> 
      </body></html>
      


      LG Tina

     Antworten

    Beitrag von Susanne (45 Beiträge) am Montag, 6.September.2004, 19:29.
    Re: Leeres Feld nicht im Template zeigen

      Liebe Tina,

      DANKE!!!
      Du hast mich auf den richtigen Weg gebracht.

      Ich habe allerdings noch etwas verändert, in der Tabelle, die Du mir als Vorschlag geschickt hast, war das Feld "Beschreibung" ja als Spalte, nicht Zeile angelegt.
      Das führte dazu, dass es immer, wenn nichts drinstand, einfach als leeres Feld mit viel freiem Platz ausgegeben wurde.
      Jetzt habe ich es als eigene Zeile druntergesetzt, und jetzt wird die Zeile ganz schmal (verschwindet leider nicht ganz), wenn im Feld nichts steht.

      Wahrscheinlich weißt Du das alles sowieso aus dem Kopf, aber ich dachte, ich schicke das mal zurück, auch falls andere an einer solchen Sache "knabbern".

      Nochmals Vielen Dank und liebe Grüße!



      <loop code=perl db=Spezialitaeten sort=Kategorie,PK1,Artikel>
      

      if ($kt ne $Kategorie){

      out "<tr><td>$Kategorie</td></tr>"; 
       
      $kt = $Kategorie; 
      }
      

      out "<tr>
      <td class='oben'><font size='2'>$Artikel</font></td>
      <td class='oben'><font size='2'>$Portion</font></td>
      <td class='oben'><font size='2'>$Einheit</font></td>
      <td class='oben'><font size='2'>$Preis</font></td>
      <td class='oben'><font size='2'>€</font></td>
      </tr>";
      if ($Beschreibung ne " ")
      {
      out "<tr><td class='oben'><font size='1pt'>$Beschreibung</font></td></tr>";
      }
      

       



      </loop>
      </table> 
      </body></html>
      

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 7.September.2004, 07:48.
    Re: Leeres Feld nicht im Template zeigen

      mhm, ptobiers mal so:

      ---schnipp
      out<<EOF;
      <tr>
      <td class="oben"><font size="2">$Artikel</font></td>
      <td class="oben"><font size="2">$Portion</font></td>
      <td class="oben"><font size="2">$Einheit</font></td>
      <td class="oben"><font size="2">$Preis</font></td>
      <td class="oben"><font size="2"'>€</font></td>
      </tr>
      EOF
      if ($Beschreibung ne ""){
      out "<tr><td colspan='5' class='oben'><font size='1'>$Beschreibung</font></td></tr>";
      }
      
      ---schnapp

     Antworten


     
 Liste der Einträge von 28575 bis 28650: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!