Werte aus datenbank auslesen und darstellen

cfrank

Grünschnabel
Wie kann ich jeden zweiten Datensatz aus der Datenbank mit einer anderen hintergrund farbe als den ersten ausgeben lassen
Ich weiss das ich dafür eine funktion schreiben muß aber wie ?
Ich habe den BEitrag hier auch son gesehen aber leider finde ich ihn nicht mehr, also entschuldigt bitte falls die fragen Nerven sollt!

Vielen Dank für eure Hilfe
 
Hallo,

du wirst die Datensätze ja sicher mit einer Schleife ausgeben lassen.
Deklarier dir doch einfach ne Variable, die bei jedem durchlauf erhöht wird. Dann rechnest du
"Variable" % 2 und wenn das Ergebnis nicht 0 ist wird halt die eine Hintergrundfarbe angezeigt, ansonsten die andere.
So würde ich das zumindest machen.
 
Probier es mal nach folgendem Schema:
PHP:
<?php

	$query = "[…]";
	$result = mysql_query($query);
	$i = 0;
	while( $row = mysql_fetch_array($result) ) {
		$i++;
		$row_number = ( $i % 2 == 0 ) ? 'even' : 'odd';
		echo '<[…] class="row_'.$row_number.'">[…]';
	}

?>
Nun kannst du mit dem CSS-Klassenselektor den Zeilen unterschiedliche Eigenschaften zuweisen.


Ach Übrigens: Datenbanken werden abgefragt, nicht ausgelesen; sonst hieße es ja auch „Datenbankauslese“ statt „Datenbankabfrage“.
 
Zuletzt bearbeitet:
Vor der while-Schleife:
PHP:
$counter=0;
In der Schleife:
PHP:
if ($counter % 2==0)
 {
  //hintergrundfarbe 1
 }
else
 {
  //hintergrundfarbe 2
 }
Am Ende der Schleife, aber noch immer darin und nicht danach!:
PHP:
$counter++;

Die Berechnung in der Mitte kann man auch etwas anders aufziehen, funktioniert genauso gut.
PHP:
if (round($x/2)>$x/2)
 {
  //hintergrundfarbe 1
 }
else
 {
  //hintergrundfarbe 2
 }
 
Zurück