Gå til innhold

[LØST]Hvordan få forsjellig farge på annenhver linje (Table)


Anbefalte innlegg

Skrevet (endret)

Hei. jeg har søkt litt inne på forumet her / google etter noe som kan skifte farge på tabellen min. Den går opp mot Mysql og henter en del :) og som jeg sa så vil jeg ha forskjellig farge på annehver linje :)

 

Fant noe på den ene Sticky tråden her men den funka ikke helt :S

 

Ijallefall håper noen kan hjelpe meg!

 

<?
echo "<table width=100% border=0 cellpadding=10><th>Revision</th><th>Fixed</th><th>Date</th><th>Fixed By</th>";
$result = mysql_query("SELECT * FROM changelog ORDER BY id DESC") or die(mysql_error());  
while ($rad = mysql_fetch_array($result)){
$rev = $rad['id'];
$text = $rad['fix'];
$forfatter = $rad['forfatter'];
$color = $rad['color'];
$dato = $rad['dato'];

$color = "1";
if ($color == "1"){
echo "<tr bgcolor='#C0C0C0'><td>Rev $rev</td><td>$text</td><td>$dato</td><td>$forfatter</td></tr>";
$color = "2";
}else {
echo "<tr bgcolor='#FFFFFF'><td>Rev $rev</td><td>$text</td><td>$dato</td><td>$forfatter</td></tr>";
$color = "1";
}
}
echo "</table>";

?>

Problemet er da at den bare bruker den første linja (den med bgcolor='#C0C0C0')

 

 

Hilsen Dryper

Endret av Dryper
Videoannonse
Annonse
Skrevet

Rett før if-setningen setter du $color til 1. Dvs. den vil alltid være 1. Meningen er nok at du skal sette $color til 1 utenfor while-løkken din.

Skrevet
Rett før if-setningen setter du $color til 1. Dvs. den vil alltid være 1. Meningen er nok at du skal sette $color til 1 utenfor while-løkken din.

 

 

Forskjell ble det men nå ble alle resultatene til "else" istedenfor begge deler :)

Skrevet

Vis oss koden, da ..

 

Utrolig mye lettere dersom du bare gjør dette til en vane, så slipper vi mye frem og tilbake for enkle ting.

Skrevet
Rett før if-setningen setter du $color til 1. Dvs. den vil alltid være 1. Meningen er nok at du skal sette $color til 1 utenfor while-løkken din.

 

 

Forskjell ble det men nå ble alle resultatene til "else" istedenfor begge deler :)

 

 

Æsj .. det er da en skikkelig tabbe av meg å ha 2 strenger som heter det samme :) det var at den henter ut database resultater på color :O

 

Takker for hjelp .. det hjalp :=)

Skrevet

Her er en annen måte å gjøre dette på, som jeg i alle fall synes er ryddigere og enklere å bruke:

<?
echo "<table width=100% border=0 cellpadding=10><th>Revision</th><th>Fixed</th><th>Date</th><th>Fixed By</th>";
$result = mysql_query("SELECT * FROM changelog ORDER BY id DESC") or die(mysql_error());  

$counter = 0;

while ($rad = mysql_fetch_array($result)){
$rev = $rad['id'];
$text = $rad['fix'];
$forfatter = $rad['forfatter'];
$color = $rad['color'];
$dato = $rad['dato'];

echo "<tr bgcolor='". ($counter++ % 2 ? '#f00' : '#fff') ."'><td>Rev $rev</td><td>$text</td><td>$dato</td><td>$forfatter</td></tr>";

}
echo "</table>";

?>

Skrevet

Mens vi er inne på langt mer elegante løsningsmetoder, ta også en liten titt på list().

 

<?php

while ( $rad = mysql_fetch_array ( $result, MYSQL_NUM ) ) {

	list ( $rev,
		   $text,
		   $forfatter,
		   $color,
		   $dato ) = $rad;

	// 1 .. 2 .. 3

}

?>

Skrevet
Mens vi er inne på langt mer elegante løsningsmetoder, ta også en liten titt på list().

 

<?php

while ( $rad = mysql_fetch_array ( $result, MYSQL_NUM ) ) {

	list ( $rev,
		   $text,
		   $forfatter,
		   $color,
		   $dato ) = $rad;

	// 1 .. 2 .. 3

}

?>

 

Ja så bedre ut den :) Er dette raskere og slikt da eller ? :)

Skrevet

Tviler på at det er noen vesentlig forskjell. Burde strengt tatt ikke være nødvendig å sette alle de variablene uansett, når de allerede ligger i $rad.

Skrevet
Tviler på at det er noen vesentlig forskjell. Burde strengt tatt ikke være nødvendig å sette alle de variablene uansett, når de allerede ligger i $rad.

 

Nei den strengen i $rad skulle egentlig være til Hvilken type "Change " det er.. feks Updated = green , Changed = blå , , Deleted = Rød ect :) men det gikk

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...