cyclo: Anzeige der Tabelle

Hallo ich habe in einer Seite eine Tabelle die Daten einer Datenbank anzeigt. Funktioniert auch alles, nur aus irgendeinem Grund erscheint die Tabelle erst viele Zeilen unter der Überschrift. Obwohl ich schon viel probiert habe mit margin und co. nichts hilft.

hier die Ansicht
Hat vielleicht jemand die Lösung? Stehe etwas unter Zeitdruck.

  1. Hi!

    Hat vielleicht jemand die Lösung? Stehe etwas unter Zeitdruck.

    Fehler beseitigen und alles wird gut!

    FG Ulysses

    1. Hi!

      Hat vielleicht jemand die Lösung? Stehe etwas unter Zeitdruck.
      Fehler beseitigen und alles wird gut!

      FG Ulysses

      danke für den Hinweis. Hat leider nicht wirklich weiter geholfen da die Tabelle in .php erzeugt wird.
      Ich weiß auch nicht (die Kenntnis fehlt mir) warum die einführenden oder abschließenden Zeichen bemängelt. bei colspan in line 20 verstehe ich das ja. Leider meckert aber php wenn ich die Anführungszeichen setze.Hier mal das php

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
        
      <head>  
          <title>cuptermine</title>  
        
          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />  
            <link href="styles/sitestyle.css" type="text/css" rel="stylesheet" />  
          <link href="favicon.ico" type="image/x-icon" rel="shortcut icon" />  
      </head>  
        
      <body >  
                <h1>MOL Cycling Cup Termine 2012</h1>  
        
      <?php  
                    include ("dbverb.php");  
        
        
                          $termine= mysql_query ("SELECT * FROM cuptermine");  
                          echo "<table align=center border=1 cellpadding=3 cellspacing=3 >";  
                            echo "<tr>";  
                              echo "<th colspan=10 >MOL Cup Termine 2012</th>";  
                            echo "</tr>";  
                           echo "<tr>";  
                             echo "<td>Nr</td>","<td>Datum </td>","<td>Name </td>","<td>Beschreibung </td>","<td>Ort </td>","<td>Rennart </td>","<td>Distanz </td>","<td>max. Starter</td>","<td>Veranstalter</td>","<td>Status</td>";  
                             echo "</tr>";  
                            echo"<tr>";  
        
                           while ($row= mysql_fetch_object ($termine)){  
        
        
                                echo"<br />";  
                               echo "<td>",$row-> Nr,"</td>";  
                                   echo "<td>",$row-> Datum,"</td>";  
                               echo "<td>",$row-> Name,"</td>";  
                                echo "<td >",$row-> Ausschreibung,"</td>";  
                                   echo "<td>",$row-> Ort,"</td>";  
                                       echo "<td>",$row-> Rennart,"</td>";  
                                           echo "<td>",$row-> Distanz,"</td>";  
                                               echo "<td>",$row-> Starteranzahl,"</td>";  
                                                  echo "<td>",$row-> Veranstalter,"</td>";  
                                                     echo "<td>",$row-> Status,"</td>";  
                                                         echo "</tr>";  
                           }  
        mysql_close($link);  
      ?>  
        
      </table>  
        
      </body>  
      </html>
      
      1. Hi!

        Deine fehlerhaften <br /> hast du beseitigt, aber du solltest unbedingt auch die anderen Fehler beheben, auch wenn diese (noch) nicht zu einer offensichtlichen Fehldarstellung führen.

        bei colspan in line 20 verstehe ich das ja. Leider meckert aber php wenn ich die Anführungszeichen setze.Hier mal das php

        echo "<table align=center border=1 cellpadding=3 cellspacing=3 >";

          
        Wie man damit umgeht findest du z.B. im [Quakenet/#php Tutorial](http://tut.php-quake.net/de/output.html#s3)  
          
        FG Ulysses
        
      2. @@cyclo:

        nuqneH

        include ("dbverb.php");

        $termine= mysql_query ("SELECT * FROM cuptermine");

        Mache dich mit EVA vertraut! (wenn schon nicht mit MVC)

        echo "<table align=center border=1 cellpadding=3 cellspacing=3 >";
                              echo "<tr>";
                                echo "<th colspan=10 >MOL Cup Termine 2012</th>";

        Das ist wohl eine http://de.selfhtml.org/html/tabellen/umgebung.htm@title=Tabellenüberschrift.

        echo "</tr>";
                             echo "<tr>";
                               echo "<td>Nr</td>","<td>Datum </td>","<td>Name </td>","<td>Beschreibung </td>","<td>Ort </td>","<td>Rennart </td>","<td>Distanz </td>","<td>max. Starter</td>","<td>Veranstalter</td>","<td>Status</td>";

        Das sind Kopfzellen, also 'th'.

        echo "</tr>";
                              echo"<tr>";

        Warum wird das alles per PHP ins Dokument geschrieben, wo hier doch nichts Veränderliches per Scripting generiert werden muss? Wenn du den Teil ganz normal in HTML schreibst, hast du kein Problem mit den Anführungszeichen.

        Das solltest du sowieso nicht haben, da du keine darstellungsbezogenen HTML-Attribute wie @align, @border, @cellpadding und @cellspacing verwenden solltest, sondern die Tabelle mit CSS gestalten solltest.

        Außerdem bietet sich die Trennung von <http://de.selfhtml.org/html/tabellen/aufbau.htm#kopf_koerper_fuss@title=thead und tbody> an.

        while ($row= mysql_fetch_object ($termine)){

        Bei der Ausgabe bietet sich die alternative Schreibweise an:

        <?php  
        [code lang=php]    include ("dbverb.php");  
          
            $termine= mysql_query ("[code lang=sql]SELECT * FROM cuptermine
        ~~~");  
        [/code]?>  
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
          
        <head>  
            <title>cuptermine</title>  
          
            <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />  
            <link href="styles/sitestyle.css" type="text/css" rel="stylesheet" />  
            <link href="favicon.ico" type="image/x-icon" rel="shortcut icon" />  
        </head>  
          
        <body>  
            <h1>MOL Cycling Cup Termine 2012</h1>  
          
            <table>  
                <caption>MOL Cup Termine 2012</caption>  
                <thead>  
                    <tr>  
                        <th>Nr</th>  
                        <th>Datum</th>  
                        <th>Name</th>  
                        <th>Beschreibung</th>  
                        <th>Ort</th>  
                        <th>Rennart</th>  
                        <th>Distanz</th>  
                        <th>max. Starter</th>  
                        <th>Veranstalter</th>  
                        <th>Status</th>  
                    </tr>  
                </thead>  
                <tbody>  
        <?php `while ($row= mysql_fetch_object ($termine)):`{:.language-php} ?>  
                    <tr>  
                        <td><?php `echo $row-> Nr;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Datum;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Name;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Ausschreibung;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Ort;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Rennart;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Distanz;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Starteranzahl;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Veranstalter;`{:.language-php} ?></td>  
                        <td><?php `echo $row-> Status;`{:.language-php} ?></td>  
                    </tr>  
        <?php `endwhile;`{:.language-php} ?>  
                </tbody>  
            </table>  
        </html>[/code]  
          
        Qapla'  
          
        PS: Warum [verwendest](http://www.w3.org/International/questions/qa-choosing-encodings#useunicode) du die veraltete Zeichencodierung ISO 8859-1 anstatt UTF-8?
        
        -- 
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.  
        (Mark Twain)
        
    2. Hi!

      Hat vielleicht jemand die Lösung? Stehe etwas unter Zeitdruck.
      Fehler beseitigen und alles wird gut!

      FG Ulysses

      Danke euch
      manchmal ist es gut wenn man von aussen Hilfe bekommt. Nun es war in der php das echo <br/>. War nicht notwendig
      Danke für die Hilfe

  2. Hat vielleicht jemand die Lösung? Stehe etwas unter Zeitdruck.

    Und warum nutzt du dann nicht erstmal den Validator?

  3. Hallo Cyclo,

    Dein HTML ist - wie schon erwähnt wurde - extrem fehlerhaft.
    Du hast zahlreiche <br />, die irgendwo im "luftleeren Raum" stehen, z.B.
    </tr><br /><td>
    Vermutlich sind es diese <br />, die den Abstand oben an der Tabelle verursachen, da der Browser sie darstellt, bevor er die Tabelle darstellt.
    Räum Dein HTML auf, und das Problem sollte sich von selbst erledigen.

    Ausserdem hast Du im CSS eine sehr komische Anweisung:
    table { font-family: sans-serif Times Courier; }
    Times ist eine Schrift _mit_ Serifen, Courier ist eine Monospace-Schriftart, welche ausserdem oft sehr hässlich aussieht (besser ist Courier New).
    Zwischen den Namen der Schriftarten sollte ein Komma stehen.
    Und für die Lesbarkeit am Bildschirm sind serifenlose Schriftarten am besten.
    Ich würde z.B. Arial und Helvetica vorschlagen, dann noch die generische Familie sans-serif:
    table { font-family: arial, helvetica, sans-serif; }
    Siehe auch http://de.selfhtml.org/css/eigenschaften/schrift.htm#font_family@title=font-familiy in SelfHTML.

    HTH, mfg
    Thomas