Avatar billede MSR Juniormester
02. marts 2007 - 01:26 Der er 5 kommentarer og
1 løsning

Farveskift i tabel

Jeg har lavet en tabel (med hjælp herfra) og nu vil jeg gerne have den til at skifte farve for hver linie. En hvid så en grå og hvid igen...
jeg har sat følgende variabel ind i tabellen:
<td><a href=\"profile_navn.php\">".$row['navn']."</a></td>

og leger lidt med en switch a la:

switch ($farve) {
    case "#FFFFFF":
      $farve = "#CCCCCC";
      break;
    case "#CCCCCC":
      $farve = "#FFFFFF";
      break;
    default:
    $farve = "#FFFFFF";
}

Problemer er jo at den kun kører rundt i min query (jeg ikke har vist her) og ikke kommer forbi min switch for hver række?
jeg ved ikke hvordan faan man skal sætte noget ind i noget man henter? altså "dynamik i dynamik" så at sige...

ellers skal man vel lave en "hvis den forrige række var hvid, skal denne være grå" sætning?
Avatar billede MSR Juniormester
02. marts 2007 - 01:27 #1
det var selvfølgelig der her tabel jeg mente:
echo "<tr bgcolor=\"$farve\">
Avatar billede schaefner Juniormester
02. marts 2007 - 01:36 #2
Avatar billede MSR Juniormester
02. marts 2007 - 01:55 #3
Den skal jeg sgu nok have lidt mere hjælp til?

<?
$color1 = "#CCCCCC";
$color2 = "#FFFFFF";
$row_count = 0;

?>

<table cellpadding="10" border="0">
  <tr>
    <td bgcolor="#999999">Billede</td>
    <td bgcolor="#999999">Navn</td>
    <td bgcolor="#999999">Adresse</td>
    <td bgcolor="#999999">Telefon</td>
    <td bgcolor="#999999">E-mail</td>
    <td bgcolor="#999999">Msn</td>
    <td bgcolor="#999999">Admin</td>
  </tr>

<?
  $SQLQuery = "SELECT navn FROM personer WHERE id ='2'";
  $result = mysql_query($SQLQuery);
  $navn = $field['Navn'];
 
$query = mysql_query("SELECT * FROM personer ORDER BY id ASC");
while($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem
$row_color = ($row_count % 2) ? $color1 : $color2;
{
    echo "<tr bgcolor=\"$farve\">
    <td>".$row['billede']."</td>
        <td><a href=\"profile_$navn.php\">".$row['navn']."</a></td>
        <td>".$row['adresse']." </td>
        <td>".$row['telefon']." </td>
        <td>".$row['email']." </td>
      <td>".$row['msn']."</td>
      </tr>";
}
$row_count++;
  ?>
</table>

Nu forsvandt hele min tabel nemlig bare?
Avatar billede schaefner Juniormester
02. marts 2007 - 02:14 #4
<?php
$color1 = "#CCCCCC";
$color2 = "#FFFFFF";
$row_count = 0;
?>

<table cellpadding="10" border="0">
    <tr>
        <td bgcolor="#999999">Billede</td>
        <td bgcolor="#999999">Navn</td>
        <td bgcolor="#999999">Adresse</td>
        <td bgcolor="#999999">Telefon</td>
        <td bgcolor="#999999">E-mail</td>
        <td bgcolor="#999999">Msn</td>
        <td bgcolor="#999999">Admin</td>
    </tr>

<?php
$SQLQuery = "SELECT navn FROM personer WHERE id ='2'";
$result = mysql_query($SQLQuery);
$navn = $field['Navn'];

$query = mysql_query("SELECT * FROM personer ORDER BY id ASC");

while ($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem
{
    $row_color = ($row_count % 2) ? $color1 : $color2;

    echo "<tr bgcolor=\"".$row_color."\">
    <td>".$row['billede']."</td>
        <td><a href=\"profile_".$navn.".php\">".$row['navn']."</a></td>
        <td>".$row['adresse']."</td>
        <td>".$row['telefon']."</td>
        <td>".$row['email']."</td>
      <td>".$row['msn']."</td>
      </tr>";

    $row_count++;
}
?>
</table>
Avatar billede MSR Juniormester
02. marts 2007 - 02:23 #5
Aarh jeg synes heller ikke det eksempel du viste var helt nemt at gennemskue.
Jeg er ikke helt med på HVORFOR det her virker altså sætningen:
$row_color = ($row_count % 2) ? $color1 : $color2;
men lad nu det ligge. Tak for hjælpen...
Avatar billede schaefner Juniormester
02. marts 2007 - 02:47 #6
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
Computerworld tilbyder specialiserede kurser i database-management

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