Paul: leeres td mit Rahmen

Hallo Forum!

Ich erstelle mir eine Tabelle in einer Schleife und fülle diese mit Werten aus PHP. Leider kommt es vor, dass es auch mal keine Werte gibt. Dann ist das td leer. Leider kommt dann auch kein Rahmen. Den möchte ich aber auch haben wenn kein Wert im td steht. Wie mach ich das?

<tr>  
 <td><b>Lieferdatum:</b></td><td style="border-style:solid; border-width:1px; border-color:#000000;"><?php echo $datum[$i] ?></td>  
</tr>

Paul

  1. hi,

      
    <?php if($datum[$i]) echo $datum[$i]; else echo '&nbsp;'; ?>  
    
    

    Habe hoffentlich keine Tippfehler drin, aber das Prinzip sollte klar sein.

    mfg

    1. <?php if($datum[$i]) echo $datum[$i]; else echo '&nbsp;'; ?>

        
      Für sowas würde ich aufgrund der Lesbarkeit ternäre Operatoren empfehlen.
      
      1. Danke Euch allen!

    2. @@lindner:

      nuqneH

      <?php if($datum[$i]) echo $datum[$i]; else echo '&nbsp;'; ?>

      Nein, nicht zur Nachahming empfohlen.

      Habe hoffentlich keine Tippfehler drin

      Keinen Tippfehler, eher einen Denkfehler. Man sollte keinen Unsinn ins Markup schreiben. Wenn keine Daten da sind, sind eben keine da. Auch nicht ein Leerzeichen.

      Das Rahmenproblem lässt sich mit genau der Technologie lösen, die für die Darstellung zuständig ist: mit CSS.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Hi Gunnar.

        <?php if($datum[$i]) echo $datum[$i]; else echo '&nbsp;'; ?>

        Nein, nicht zur Nachahming empfohlen.

        Kleiner Tippfehler, es müsste "zum" heißen.

        ;-)

        Viele Grüße,
        der Bademeister, Wert auf korrektes Neudeutsch legend.

  2. Wie mach ich das?

    Mit CSS: http://de.selfhtml.org/css/eigenschaften/tabellen.htm#empty_cells@title=empty-cells.

    Wenn du dämliche Browser auch noch berücksichtigen musst, mit einem geschützen Leerzeichen.

    1. @@suit:

      nuqneH

      Mit CSS: http://de.selfhtml.org/css/eigenschaften/tabellen.htm#empty_cells@title=empty-cells.

      Immer diese unzuverlässige Sekundärliteratur! "show" ist Voreinstellung, und das auch schon in CSS 2.0. [CSS2 §17.6.1]*

      Wenn du dämliche Browser auch noch berücksichtigen musst

      Welche Browser, die noch Unterstützung verdienen, sollten so dähmlich sein?

      mit einem geschützen Leerzeichen.

      Nein.

      Und IMHO ist bei Tabellen sowieso das Modell mit zusammenfallenden Rahmen angebracht. [CSS2 §17.6.2]

      Qapla'

      * Ich weiß, die Übersetzung ist auch Sekundärliteratur und an einigen Stellen auch unzuverlässig. An dieser Stelle aber zuverlässig.

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

        "show" ist Voreinstellung, und das auch schon in CSS 2.0. [CSS2 §17.6.1]

        Dann dürfte es aber das Problem des Fragestellers garnicht geben.

        Matthias

        --
        http://www.billiger-im-urlaub.de/kreis_sw.gif
        1. Dann dürfte es aber das Problem des Fragestellers garnicht geben.

          Natürlich, denn Gunnar geht davon aus, dass bei zusammenfallenden Rahmen die umgebenden Rahmen schon "herhalten" - er vergisst aber, dass es durchaus Tabellen gibt, wo mehrere Zellen fehlen oder nicht rundherum jeweils derselbe Rahmen um die Zelle ist.

      2. Welche Browser, die noch Unterstützung verdienen, sollten so dähmlich sein?

        Der IE7 z.B.