Avatar billede clausberg Nybegynder
05. august 2005 - 23:57 Der er 6 kommentarer og
3 løsninger

Farveskift i hver tråd

Efter søgning i DB får jeg en masse tråde frem (oversigt over biler), som står i en pæn liste... men hvordan er det nu lige jeg får farven til at skifte skiftesvis ned ad????

Jeg ved det er noget i retningen af:
$farve = true; foreach(et eller andet her) { $farve = !$farve echo '<tr class="windowbg', $farve? '' : '2', '"> + resten'; }

men jeg har vist brug for hjælp :-D
Avatar billede kring Nybegynder
06. august 2005 - 00:25 #1
Du kan gøre sådan her:

$counter = 1;
foreach(...)
{
if($counter%2 == 0)
  $class = "ClassWithColor1";
else
  $class = "ClassWithColor2";

echo "<tr class=\"" . $class . "\">";
+ resten af tabellen
$counter++;
}
Avatar billede clausberg Nybegynder
06. august 2005 - 00:31 #2
Kan ikke umiddelbart få det til at virke :(
Hvor i scriptet angiver jeg farven
Hvor skal jeg sætte dit forslag til script ind... skal det fx være før eller efter selve sql query sætningen??
Avatar billede kring Nybegynder
06. august 2005 - 00:36 #3
Du skal lave 2 css-klasser hvor du angiver de 2 farver du vil have til at skifte imellem.
fx
.ClassWithColor1 {
background-color:#B8B8B8;
}
.ClassWithColor2 {
background-color:#C1C1C1;
}

Du skal sætte scriptet ind efter sql query sætningen. Det skal ligge i starten af din foreach løkke.

fx.
$sql = "SELECT * FROM table";
$result = mysql_query($sql);
foreach($result as $row)
{
if($counter%2 == 0)
  $class = "ClassWithColor1";
else
  $class = "ClassWithColor2";

echo "<tr class=\"" . $class . "\">";
+ resten af tabellen
$counter++;
}
Avatar billede myplacedk Nybegynder
06. august 2005 - 09:01 #4
Dit eget forslag var næsten rigtigt, kun lidt syntaxfejl. Prøv dette:
$farve = true;
foreach(et eller andet her) {
  $farve = !$farve;
  echo '<tr class="windowbg'.(($farve)? '' : '2').'"> + resten';
}
Avatar billede clausberg Nybegynder
08. august 2005 - 09:46 #5
Hey :-D
Det hvor jeg har skrevet "et eller andet" - hvad skal der stå der????
Og skal jeg angive en farve i $farve
Og der hvor der står + resten (til sidst)... hvad skal der stå der.
Det er det jeg ikke forstår???? :-D
Avatar billede myplacedk Nybegynder
08. august 2005 - 17:36 #6
Hvis du får den liste frem, du skal bruge, skal du ikke lave om på din for eller foreach.
Det samme med "+ resten", du lader bare være med at ændre noget.
Du skal jo bare indsætte en class, ellers virker det jo fint nok.
$farve skal starte med at være true som der står, det behøver du ikke ændre. (Jeg ville så nok kalde den noget med $even eller $lige, da det jo ikke er en farve, men det er jo bare et navn.)
Avatar billede clausberg Nybegynder
11. august 2005 - 21:59 #7
myplacedk>>>>>>
Jeg har nu sidder og prøvet mig lidt frem og tilbage med dette script:

$farve = true;
foreach(et eller andet her) {
  $farve = !$farve;
  echo '<tr class="windowbg'.(($farve)? '' : '2').'"> + resten';
}
men jeg kan ikke få det til at virke...

Hvor definerer jeg hvilke farver jeg vil have bjælkerne skal skifte mellem?
Og du nævnte noget med "for" og "foreach"... jeg kan ikke finde noget "for" i scriptet?
Og hvor skal dette script stå i forhold til min sql query sætning?
Avatar billede myplacedk Nybegynder
12. august 2005 - 06:19 #8
> Hvor definerer jeg hvilke farver jeg vil have bjælkerne skal skifte mellem?
Rækkerne for skiftevis klassen "windowbg2" og "windowbg". I din CSS skal du så bare angive hvordan de skal se ud.

> Og du nævnte noget med "for" og "foreach"... jeg kan ikke finde noget "for" i scriptet?
Jeg nævnte noget med "for" ELLER "foreach" - du kan frit vælge mellem de to. Bare bliv ved med at bruge det, du bruger nu. Du skal ikke ændre på selve løkken.

> Og hvor skal dette script stå i forhold til min sql query sætning?
Efter, som det allerede er i din kode.

Prøv nu at kombinere koden med det, du har i forvejen. Du siger jo at du har noget der virker, så det giver ingen mening at sidde og bøvle med løkker, SQL osv.
Avatar billede clausberg Nybegynder
12. august 2005 - 22:45 #9
Yes - nu virker det... takker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester