webForumDet fria alternativet

olika färger på varrannan rad

PHP

14 svar · 902 visningar · startad av dxm

Medlem sedan feb. 200359 inlägg
Frågan#1

min tabell och kod ser ut så här. jag har försökt med olika script på nätet men aldrig fått det att funka kan någon hjäla mig

<table cellspacing=0 cellpadding=0 width="100%" border=0>
<tbody>
<tr>

<td width="32%" height="11"><b>Från</b></td>
<td align=right width="36%" height="11">
<div align="left"><b>Rubrik</b></div>
</td>
<td align=right width="32%" height="11"><b>Tid</b></td>
</tr>
<?
$userid = $_SESSION["anvandarid"];

$getmess = mysql_query("SELECT * FROM mejl_anv WHERE bid = '$userid' ORDER BY ut DESC");
while ($t = mysql_fetch_array($getmess))
{
$id = $t["id"];
$ur = $t["ur"];
$ut = $t["ut"];
$uid = $t["uid"];
?>
<tr bgcolor=#e9f0f2>
<td width="32%"> <a href="presentation.php?anv=<?=$uid?>">
<?=$uid?>
</a> </td>
<td width="36%">
<?=$ur?>
</td>
<td align=right width="32%">
<?=$ut?>
</td>
</tr>
<?
}
?>
</tbody>
</table>

Medlem sedan sep. 20021 655 inlägg
#2

Gå in här:
http://www.phpportalen.net/wiki/index.php
och sök efter "Hur får jag olika färg på varannan rad i en tabell?" i sökrutan längst ner.

Det blev fel när jag försökte länka.

Medlem sedan aug. 20002 975 inlägg
#3

Före while-satsen skriver du:

$bg = 1;

Och i while-satsen:

<tr bgcolor="<?php echo ($bg++%2) ? '#FF0000' : '#00FF00' ?>">
Medlem sedan feb. 200359 inlägg
#4

jag fattar inte riktigt vad du menar kan du inte skriva in det i min kod så får jag se hur det skall vara

Medlem sedan mars 20023 561 inlägg
#5
<table cellspacing=0 cellpadding=0 width="100%" border=0> 
<tbody> 
<tr> 

<td width="32%" height="11"><b>Från</b></td> 
<td align=right width="36%" height="11"> 
<div align="left"><b>Rubrik</b></div> 
</td> 
<td align=right width="32%" height="11"><b>Tid</b></td> 
</tr> 
<? 
$userid = $_SESSION["anvandarid"]; 

$getmess = mysql_query("SELECT * FROM mejl_anv WHERE bid = '$userid' ORDER BY ut DESC"); 
$bg = 1;
while ($t = mysql_fetch_array($getmess)) 
{ 
$id = $t["id"]; 
$ur = $t["ur"]; 
$ut = $t["ut"]; 
$uid = $t["uid"]; 
?> 
<tr bgcolor="<?php echo ($bg++%2) ? '#FF0000' : '#00FF00' ?>">
<td width="32%"> <a href="presentation.php?anv=<?=$uid?>"> 
<?=$uid?> 
</a> </td> 
<td width="36%"> 
<?=$ur?> 
</td> 
<td align=right width="32%"> 
<?=$ut?> 
</td> 
</tr> 
<? 
} 
?> 
</tbody> 
</table>

Sedan får du ändra till de färger du vill ha.

Medlem sedan feb. 200359 inlägg
#6

tackar

Medlem sedan juli 2000212 inlägg
#7

Den här funktionen är annars ganska festlig:

function color_swap($colors) {

	static $state = 0;
	$color = $state;
	if((count($colors)-1) == $state) {
		$state = 0;
	} else {
		++$state;
	}
	return $colors[$color];

}

//Användning: 
<tr bgcolor="<?php echo color_swap(array('#FF0000','#00FF00')) ?>">

I arrayen kan man ha hur många (inom rimlig gräns) färger man vill!

Medlem sedan juli 2002405 inlägg
#8

Tack som fan Matte.. Har letat efter denna funktion skitlänge.

Medlem sedan juli 2000212 inlägg
#9

Matte??

Medlem sedan okt. 20001 285 inlägg
#10

måste bara hänga på och lägga in en oldtimer.. :)

while ($row = mysql_fetch_array($query)) {
		if ($varannan == "1") {
        	$farg = "#ff0000";
			$varannan = "2";
    	} else {
			$farg = "#00ff00";
			$varannan = "1";
    	}

		echo "<tr bgcolor=\"$farg\">\n";
Medlem sedan maj 2002647 inlägg
#11

Jag kör som Fuel jag... funkar fin fint. Bra om man använder css.

Medlem sedan juli 2002405 inlägg
#12

Varför fungerar inte detta?

echo "<tr bgcolor=\" . ($bg++%2) ? '#FF0000' : '#00FF00' . "\ "><td>".$manad_start_month."</td>";
Medlem sedan juli 2002405 inlägg
#13

Det ska vara ett \ mellan " och " innan <td> men det visas inte...

Medlem sedan feb. 20001 270 inlägg
#14

Varför inte använda sig av en array som man definerar en gång i koden så man slipper ändra på 1000-tals ställen när man vill ändra på färgerna?

$colArr = array("#FF0000","#00FF00");
echo "<tr bgcolor=\"".($colArr[$col++&1])." \"><td>".$manad_start_month."</td>";
Medlem sedan juli 2002405 inlägg
#15

Tack för tipset woodi

282 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)