Zur Navigation

Tabellen nebeneinander

1 Jörg

Zitat von Peter
Wie kann ich es anstellen, daß mehrere "Tabellen" nebeneinander dargestellt werden. Nur eine Reihe Tabelle ist eine ganz schöne Platzverschwendung.

Das kannst du mit der CSS-Eigenschaft float. Genauer wurde das z.B. in diesem Thread behandelt:

div-Container nebeneinander positionieren

(Bei der Frage dort ging es zwar um div-Container, aber man kann die Vorgehensweise auf andere Blockelemente wie Tabellen übertragen)

22.01.2008 23:53 | geändert: 23.01.2008 00:45

2 Peter

Danke Jörg, werde ich testen.

Viele Grüße
Peter

23.01.2008 00:03

3 Peter

Wenn ich es richtig verstanden habe, muß ich aber vorher wissen, wieviele Tabellen kommen werden.

23.01.2008 00:40

4 Jörg

Nein, du müsstest den Tabellen neben der Eigenschaft float:left gegebenenfalls noch eine feste Breite zuweisen. Die Anzahl der gefloateten Tabellen sollte dabei unerheblich sein. Wenn kein Platz mehr in einer "Reihe" ist, sollte die folgende Tabelle automatisch in der nächsten Reihe positioniert werden

23.01.2008 00:50 | geändert: 23.01.2008 00:50

5 Peter

Meinst du so:
<html>
<body>
<table-row float:left width:800px>
<?php
   include "connect.inc.php";
   $res = mysql_query("select * from jalou");
   

   // Tabellenbeginn
   echo "<table border >";


   $lf = 1;
   while ($dsatz = mysql_fetch_assoc($res))
   {
      
      echo "<td>$lf</td>";
      echo "<tr>";
      echo "<td>" . $dsatz["breite"] . " Breite</td>";
      echo "<td></td>";
      echo "<td>PG0</td>";
      echo "<td>PG1</td>";

haut irgendwie nicht hin.

23.01.2008 20:20

6 Jörg

Die Eigenschaften kannst du am besten in einem style Abschnitt im head definieren, dann gelten diese für alle Tabellen auf der Seite, z.B.:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<head>
<style>
table {
float:left;
width:400px;
}
</style>
</head>
<body>
<?php
   include "connect.inc.php";
   $res = mysql_query("select * from jalou");
   

   // Tabellenbeginn
   echo "<table border >";

(siehe hierzu auch das SELFHTML-Kapitel Stylesheets in HTML einbinden)

23.01.2008 22:33 | geändert: 23.01.2008 22:34

8 Jörg

nur die Tabelle wird in die Breite gezogen

Naja, du hast eine Breite von 800px gewählt:

<style>
table {
float:left;
width:800px;
}
</style>

Nimm 400 oder weniger px - dann sind die Tabellen nicht so breit und es passen mehrere nebeneinander

PS: du hast auf der angegebenen Seite aber auch nur eine Tabelle, wie ich grade sehen? Die müsstest du dann noch auf mehrere Tabellen aufteilen, damit da etwas nebeneinander angeordnet werden kann..

23.01.2008 22:58 | geändert: 23.01.2008 23:03

9 Peter

Ich hatte erst 400px, habe jetzt auf 200px eingestellt.
Habe keine Idee, wie ich die Tabellen voneinander trennen kann.
<br> oder <tr>

23.01.2008 23:24

10 Jörg

Zwischen zwei Reihen (tr) kannst du eine Tabelle auftrennen, indem du die Tabelle dort zu- und wieder aufmachst, Beispiel:

<table>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>
<table>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>

23.01.2008 23:34 | geändert: 23.01.2008 23:36