PHP Ausgabe von mehreren Tabellenzeilen farbig unterlegen

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
557
Hallo,

ich möchte nach Zugriff auf einer MySQL Datenbank deren Inhalt ausgeben.
Dabei soll dieser in jeder neuen Zeile einen farbigen Code bekommen.

Problem 1: jede 2te Zeile sollte einen anderen Code haben.
Problem 2: per Mouseover sollte die gesammte Zeile einen anderen Farbcode erhalten.

Als erstes dachte ich da an eine Tabelle - dann viel mir ein, das dies auch irgendwie per CSS gehen könnte.

Kann mir dafür jemand ein Beispiel geben?

Grob: php schleife + html code für 2 unterschiedliche farben + mouseover?

vielen dank im voraus!
 
AW: Ausgabe von mehreren Tabellenzeilen Farbig unterlegen

Dafür gäbe es mehrere ansätze, beispielsweise kannst du wenn du eine Zeilen ID hast diese mit modulo 2 teilen und dann auf == 0 prüfen.

Es gibt JS frameworks die dir jede zeile hightlighten können. Und mouseover farbe ändern, da solltest du dir einfach mal ein wenig JS aneignen ;)
 
Zuletzt bearbeitet:
AW: Ausgabe von mehreren Tabellenzeilen Farbig unterlegen

Mouseover kannst du einfach so machen:
HTML:
tr:hover.gerade_zeile
{
  background-color: blue;
}

tr:hover.ungerade_zeile
{
  background-color: red;
}
 
AW: Ausgabe von mehreren Tabellenzeilen Farbig unterlegen

PHP:
<?php
$display = '<table id="sql">';
$color = 0;
for($i = 0; $i < 16; $i++) {
  $color++;
  $display.= '<tr><td class="color_'.$color.'">Blaa</td></tr>';
  if($color > 1) {
     $color = 0;
   }
}
$display .= '</table>';
echo $display;
?>
Code:
table.sql tr td.color_1 {
  background-color: #222;
}
table.sql tr td.color_1:hover {
  background-color: #888;
}
table.sql tr td.color_2 {
  background-color: #444;
}
table.sql tr td.color_2:hover {
  background-color: #AAA;
}
ungetestet. Aber das prinzip sollte dir klar werden.

Für mich sieht das so aus, als ob du nicht sonderlich viel Erfahrung mit PHP, JavaSkript und CSS hast. Immerhin gibt's dafür etliche mögliche Lösungen
 
Zuletzt bearbeitet:
AW: Ausgabe von mehreren Tabellenzeilen Farbig unterlegen

vielen dank. letzterer eintrag entspricht meinen vorstellungen!
 
HTML:
tr:nth-child(odd) { background: #000; }
tr:nth-child(even) { background: #ddd; }
tr:hover { background: #f00; }
geht auch ohne php und ist weitaus eleganter. natürlich is der ie nur zu doof dafür.
 
Mit SQL und etwas erweitert, sollte funktionieren ist aber ungetestet.

PHP:
// Iterator
$i = 0;

// Wie viele Zellen pro Zeile?
$perrow = 5;

// DB-Abfrage
$result = mysql_query('SELECT * FROM `table` WHERE 1');

// Beginnen die Tabelle auszugeben.
echo '<table>';
  foreach ($result as $row) {
    if ($i++ % $perrow === 0) echo '<tr>';
      echo '<td', ($i % 2 === 0) ? ' class="colored"' : '' ,'>'. $row .'</td>';
    if ($i % $perrow === 0) echo '</tr>';
  }
  if ($i % $perrow !== 0) echo '</tr>';
echo '</table>';
 
Zuletzt bearbeitet:

Ähnliche Themen

Antworten
10
Aufrufe
2.489
R
Zurück
Oben