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.
14 svar · 902 visningar · startad av dxm
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>
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.
Före while-satsen skriver du:
$bg = 1;
Och i while-satsen:
<tr bgcolor="<?php echo ($bg++%2) ? '#FF0000' : '#00FF00' ?>">
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
<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.
tackar
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!
Tack som fan Matte.. Har letat efter denna funktion skitlänge.
Matte??
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";
Jag kör som Fuel jag... funkar fin fint. Bra om man använder css.
Varför fungerar inte detta?
echo "<tr bgcolor=\" . ($bg++%2) ? '#FF0000' : '#00FF00' . "\ "><td>".$manad_start_month."</td>";
Det ska vara ett \ mellan " och " innan <td> men det visas inte...
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>";
Tack för tipset woodi