PHP Dynamische HTML Tabelle jede zweite Zeille farbig

codiag

Cadet 2nd Year
Dabei seit
Juli 2012
Beiträge
17
Hallo

Ich hätte da mal ne frage und zwar habe ich ein PHP script welches mir meine Daten von einer Mysql Datenbank in einer HTML Tabelle ausgibt. soweit funktioniert das, jetzt will ich das jede zweite zeile farbig ist z.b blau. da die Tabelle je nach Anzahl datensätze sich verändert sollte das automatisch passieren. Ich weis das man dies mit einer Schleife lösen kann nur weis ich nicht wie ich diese schreibe soll


Mein Scrip:

<?php

mysql_connect("","root");
mysql_select_db("codiag");

$res = mysql_query("select * from newclient");
$num = mysql_num_rows($res);

//Tabellenbeginn
echo "<table border='1' bgcolor='#F3F3F3' cellspacing='0' cellpadding='2' frame='void'>";

//Überschriften
echo "<tr bgcolor='#0099FF'><td>Kundennummer</td> <td>Name</td>";
echo "<td>Vorname</td> <td>Telefon</td>";
echo "<td>E-Mail</td> <td>Strasse</td>";
echo "<td>Ort</td> <td>PLZ</td> </tr>";


while ($dsatz = mysql_fetch_assoc($res))
{
echo "<tr>";
echo "<td>" . $dsatz["Nr"] . "</td>";
echo "<td>" . $dsatz["Name"] . "</td>";
echo "<td>" . $dsatz["Vorname"] . "</td>";
echo "<td>" . $dsatz["Telefon"] . "</td>";
echo "<td>" . $dsatz["Mail"] . "</td>";
echo "<td>" . $dsatz["Strasse"] . "</td>";
echo "<td>" . $dsatz["Ort"] . "</td>";
echo "<td>" . $dsatz["PLZ"] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
 
Dafür nimmt man CSS:
Code:
tr:nth-child(odd) td { background: #farbe1; }
tr:nth-child(even) td { background: #farbe2; }
Falls es PHP sein muss:

Lass einen Zähler mitlaufen und wenn $i % 2 == 0 oder 1 ist, hast du die Unterscheidung.
 
Zuletzt bearbeitet: (Korrektur und Ausbesserung CSS)
Da mussst du mir modulo arbeiten!

if ( $dsatz % 2 != 0)

mach was;


so in der art
 
:nth-child ist zwar wirklich die elegantere Lösung, dank Microsofts langjähriger Tiefschlaf-Politik aber die nächsten 4-5 Jahre noch nicht wirklich nutzbar.
 
Zurück
Top