Webmail Farbwechsel?

Habe das einmal probiert, aber irgendwie macht der das nur 1x:

$id wird vorher schon definiert, also nicht wundern...:

PHP:
for ($msg = $Nmsgs; $Nmsgs-$msg != $anzahl; $msg--) {
  
 // Lese Header-Daten
 $head = leseHeader($stream,$msg,$LAENGE_SUBJECT,$LAENGE_EMAIL);
 
 if ($subject == "") $subject = "<span class=text><i>kein Betreff</i></span>";
 $id = $msg-1;
$sid = $id;
 if ($sid > 1)
  {
  $sid = "0";
  
  }
 
 echo "<tr bgcolor=f6f9ea><td><INPUT TYPE=checkbox NAME=check style=width:11px;height:11px></td><td>";
 echo "$sid<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[3]</a>";
 echo "</td><td>";
 echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[0]</a>"; 
 echo "</td><td>";
	echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[4]</a>";
 echo "</td><td>";
 echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[5] kb</a>";
 echo "</td></tr>";
$sid++;
  
	
 
  
 }
 
Mach es doch einfach so wie in folgendem Beispiel:
PHP:
for ($x=0;$x<10;$x++)
{
 echo '<div class="color'.($x%2).'">'.$x.'</div>';
}
Dort werden dann immer abwechseln die Klassen color0 und color1 genutzt.
 
Die Farbwechsel funktionieren jetz zwar aber jetzt zeigt er jede Mail doppelt an:

PHP:
for ($sid=0;$sid<2;$sid++) 
  {
 
 if ($sid>0)
   {
  $color = "f6f9ea";
   }
   else
   {
	$color = "ffffff";
   }
 echo "<tr bgcolor=$color><td><INPUT TYPE=checkbox NAME=check style=width:11px;height:11px></td><td>";
 echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[3]</a>";
 echo "</td><td>";
 echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[0]</a>"; 
 echo "</td><td>";
	echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[4]</a>";
 echo "</td><td>";
 echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[5] kb</a>";
 echo "</td></tr>";
  }
	
 
  
 }
 
Ja, hier mehr von dem Script:


PHP:
 if (!$id): $anzahl = $ANZAHL;
 elseif ($id >= $ANZAHL): $anzahl = $ANZAHL;
 elseif ($id < $ANZAHL): $anzahl = $id;
 endif;
 if ($anzahl == $ANZAHL AND $Nmsgs < $ANZAHL) $anzahl = $Nmsgs;
 
 // Schleife - Ausgabe der Nachrichtenübersicht   
 for ($msg = $Nmsgs; $Nmsgs-$msg != $anzahl; $msg--) {
  
 // Lese Header-Daten
 $head = leseHeader($stream,$msg,$LAENGE_SUBJECT,$LAENGE_EMAIL);
 
 if ($subject == "") $subject = "<span class=text><i>kein Betreff</i></span>";
 $id = $msg-1;
 
 for ($sid=0;$sid<2;$sid++) 
  {
 
 if ($sid>0)
   {
  $color = "f6f9ea";
   }
   else
   {
	$color = "ffffff";
   }
 echo "<tr bgcolor=$color><td><INPUT TYPE=checkbox NAME=check style=width:11px;height:11px></td><td>";
 echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[3]</a>";
 echo "</td><td>";
 echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[0]</a>"; 
 echo "</td><td>";
	echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[4]</a>";
 echo "</td><td>";
 echo "<a class=link2 href=showone.php?msg=$msg&id=$Nmsgs>$head[5] kb</a>";
 echo "</td></tr>";
  }
	
 
  
 }
 echo "</table>";
 }
 
Du darfst die Schleife nicht einfach da rein packen, das ist der Grund warum jede Nachricht 2 mal ausgegeben wird.
Da Du eh schon mit FOR arbeitest koenntest Du anhand der Variable $msg bestimmen welche Farbe genutzt werden soll.
PHP:
if ($msg%2==0)
{
 $color="#ffff00";
}
else
{
 $color="#00ffff";
}
 
Zurück