Layout fehlerhaft

mC pAiN

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Layoutproblem auf einer Seite. Und zwar werden aus der Datenbank Produkte gelesen und sollen in einer Tabelle ausgegeben werden (2 Produkte je Zeile). Klappte auch bisher wunderbar. Aber es scheint so, als würde er bei mehr als 4 Datensätzen das Layout verändern.
Hier mal der Code:

PHP:
<html>
<body>

<?php
echo "<center><table border='0' width='90%' class='weiss'><tr>";
$x = 0;
while ($ausgabe = mysql_fetch_array($db_query)) {
        echo "<td class='weiss'>";
        $pid         = $ausgabe["produkt_id"];
        $artikel     = $ausgabe["produkt_name"];
        $artikelnr   = $ausgabe["produkt_anummer"];
        $preis       = $ausgabe["produkt_preis"];
        $versand     = $ausgabe["produkt_vkosten"];
        $kid         = $ausgabe["kunden_id"];
        $datum       = $ausgabe["datum"];
        $menge       = $ausgabe["menge"];
        $zahlungsart = $ausgabe["zahlungsart"];
        $versandart  = $ausgabe["versandart"];
        $status      = $ausgabe["status"];
        $datum       = $ausgabe["datum"];

        $summe  = $menge * $preis;
        if($versandart == "Abholung") { $versand = '0'; }
        $gesamt = $versand + $summe;

        echo "<table border='0' cellspacing='2' cellpadding='0' class='border'>";
        echo "<tr><td colspan='2' align='center' valign='top'><b>Produkt-ID:&nbsp;</b>" .$pid . "<br><br></td></tr>";
        echo "<tr><td width='150'><b>Ende der Auktion:&nbsp;</b></td><td width='250'>" .$datum . "</td></tr>";
        echo "<tr><td><b>Artikel:&nbsp;</b></td><td>" . $artikel . "</td></tr>";
        echo "<tr><td><b>Artikelnummer:&nbsp;</b></td><td>" . $artikelnr . "</td></tr>";
        echo "<tr><td><b>Menge:&nbsp;</b></td><td>" . $menge . "</td></tr>";
        echo "<tr><td><b>Preis:&nbsp;</b></td><td>" . $preis . " EUR / <b>Gesamt:&nbsp;</b>" . $gesamt . " EUR</td></tr>";
        echo "<tr><td><b>Versandkosten:&nbsp;</b></td><td>" . $versand . " EUR</td></tr>";
        echo "<tr><td><b>Zahlungsart:&nbsp;</b></td><td>" . $zahlungsart . " / <b>Versandart:</b> " . $versandart . "</td></tr>";
        echo "<tr><td style='background-color:#FFDF00;'><b><a href='#' onclick='window.open(\"content/status.php?kid=$kid\",\"status\",\"width=250,height=200,left=20,top=20,status=no,toolbar=no,menubar=no,scrollbars=yes\");'>Status:</a></b></td><td style='background-color:#FFDF00;'>" . $status . "</td></tr>";
        echo "<tr><td><b>Käuferdaten:&nbsp;</b></td><td><a href='#' onclick='window.open(\"content/k_daten.php?id=$pid\",\"k_daten\",\"width=300,height=400,left=20,top=20,status=no,toolbar=no,menubar=no,scrollbars=yes\");'>KLICK</a></td></tr>";
        echo "<tr><td colspan='2' align='center' valign='bottom'><br><a href='#' onclick='window.open(\"content/loeschen.php?id=$pid\",\"loeschen\",\"width=200,height=100,left=20,top=20,status=no,toolbar=no,menubar=no,scrollbars=yes\");'><b>LÖSCHEN</b></a></td></tr>";
        echo "</table><br><br>";
        echo "</td>";
        $x++;
        if($x == 2){ echo "</tr><tr>"; }
}

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

?>

</body>
</html>

Bis 4 Produkte sieht es so aus wie es soll. Ab dann geht da was durcheinander. Bei 5 Produkten bekomm ich 2 Produkte in Zeile 1 (aber gequetscht) und bei 7 z.B. ein Produkt in Zeile 1 und 6 in Zeile 2 :(
 
Ja logisch du machst </tr><tr> nur wenn $x 2 ist und das solltest du auch bei 4 machen...Oder $x einfach wieder auf 0 zurücksetzten...

PHP:
$x++;
if($x == 2){ echo "</tr><tr>"; $x = 0; }
 
Zurück