ERLEDIGT
JA
JA
ANTWORTEN
10
10
ZUGRIFFE
1544
1544
EMPFEHLEN
-
Suchfunktion findet (seltsamerweise) nichts zu dem Thema.
Ich habe eine mehr oder weniger große Tabelle geschaffen und möchte nun, dass mir jede zweite Zeile in einer anderen Farbe dargestellt wird. Die Ausgabe sieht wie folgt aus, falls das von Bedeutung ist:
Hoffe ich habe den Quelltext jetzt nicht zu sehr gekürzt. Habe Formatierungskrempel (font, size, etc.) entfernt, da er hier ohne Bedeutung ist und die Übersicht so besser ist *hoff*.PHP-Code:<?php
... Datenbankverbindung, Auslesebefehl ...
?>
<table>
<tr><td>Spaltenüberschrift 1</td><td>Spaltenüberschrift 2</td><td>Spaltenüberschrift 3</td><td>Spaltenüberschrift 4</td></tr>
<?php
while ($gefunden = mysql_fetch_row($ergebnis)){
?>
<tr><td><?php echo $gefunden[1] ?></td><td><?php echo $gefunden[2] ?></td><td><?php echo $gefunden[3] ?></td><td><?php echo $gefunden[4]?></td></tr>
<?php
}
?>
</table>Geändert von Memfis (18.07.05 um 12:04 Uhr)
-
Also, ich hatte das so gelöst:
Code :1 2 3 4 5 6 7 8 9 10
for ($i=1; $i<= mysql_num_rows($query); $i++) { $row = mysql_fetch_array($query); if ($i % 2 != 0) { $zeile='ungerade'; } //per %-Operator auf Rest nach Division überprüfen else { $zeile='gerade'; } echo ''; //Zeilenausgabe if ($i < mysql_num_rows($query)) { echo ''; } //Falls nicht letzter Eintrag Zwischenzeile (Spacer) setzen }
-
Oder auch:
PHP-Code:<?php
$i = 0;
while( $gefunden = mysql_fetch_row($ergebnis) ) {
echo sprintf(
'<tr class="%s"><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',
($i++%2==0) ? 'gerade' : 'ungerade',
$gefunden[1],
$gefunden[2],
$gefunden[3],
$gefunden[4]
);
}
?>Markus Wulftange
-
Öhm, ich habe versucht dein Script nachzuvollziehen, stolperte aber über folgende Dinge:
1) Wo ist die Farbdefinition, wo steht, welche Farbe gesetzt werden soll, wenn was der Fall ist?
2) Diese Zeile ist für mich ein ganz großes Fragezeichen: '<tr class="%s"><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',
3) Was 'gerade' : 'ungerade', soll, überlege ich auch noch, weil das nirgends sonnst auftaucht, also nirgends definiert wurde.
Gruß MemfisGeändert von Memfis (19.07.05 um 11:20 Uhr)
-
1) Das steht nirgendwo.
Gumbo hat classes benutzt, nämlich die class "gerade" für die eine Farbe und "ungerade" für die andere. Diese definierst du in deiner CSS-Datei oder im Head-Bereich der Seite.
2) Diese Zeile kannst du als Template für die Ausgabe sehen. Jedes "%s" wird später durch einen Wert ersetzt, der ebenso in der Funktion sprintf angegeben ist.
Da er fünf "%s" hat, braucht er auch fünf Werte:
($i++%2==0) ? 'gerade' : 'ungerade'
$gefunden[1]
$gefunden[2]
$gefunden[3]
$gefunden[4]
In der ersten Zeile wird geprüft, ob "$i", also die Zahl des aktuellen Durchlaufs, modulo 2 = 0 ist.
Die anderen Zeilen sind einfach nur Daten aus der Datenbank und zwar die Daten mit den Keys 1-4.
Cu Paraman
-
Danke für die Erklärung. Geht das aber auch einfacher. CSS kann ich (noch) nicht und ich mache eigentlich alles gerne in PHP und HTML.
-
Cu ParamanPHP-Code:
<?php
$i = 0;
while( $gefunden = mysql_fetch_row($ergebnis) ) {
echo sprintf(
'<tr style="background-color: %s"><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',
($i++%2==0) ? '#AAAAAA' : '#CCCCCC',
$gefunden[1],
$gefunden[2],
$gefunden[3],
$gefunden[4]
);
}
?>
-
CSS ist nun wirklich nicht schwer. Wenn du dich erst einmal etwas eingearbeitet hast, wirst du merken, welches Potenzial hinter CSS steckt.Geht das aber auch einfacher. CSS kann ich (noch) nicht und ich mache eigentlich alles gerne in PHP und HTML.
Übrigens verwendet auch Paramans Vorschlag CSS.Markus Wulftange
-
Danke. Funktioniert. Hab jetzt aber trotzdem noch eine Frage *sorry*
Wofür steht "%s"?Geändert von Memfis (21.07.05 um 12:01 Uhr)
-
%s bedeutet, dass diese stelle als ein string angesehen wird
Cu Paraman
-
Danke
Ähnliche Themen
-
PHP - MYSQL ==> Jede zweite Zeile anders farbig
Von Communicate im Forum PHPAntworten: 10Letzter Beitrag: 12.08.09, 13:35 -
Jede n. zeile einer Tabelle / einer Ergebnismenge auslesen
Von janw im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 09.08.05, 11:53 -
Jede zweite Spalte in einer anderen Farbe
Von Gifty43 im Forum PHPAntworten: 2Letzter Beitrag: 21.02.05, 10:13 -
If-bedingung und mysql Tabelle jede zweite Zeile auslesen
Von Frank Snake im Forum PHPAntworten: 2Letzter Beitrag: 06.04.04, 12:43 -
Nur zweite Zeile einer Textdatei auslesen
Von Moritz123 im Forum PHPAntworten: 5Letzter Beitrag: 29.07.03, 17:58





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren