Nilo: Immer 12 Zeilen in einer Farbe, danach wechseln.

Ich brauche ein Denkanstoss.
Anstatt mit even und odd eine Zebrastreifen zu generien, möchste ich alle 12 Zeilen die Farbe wechseln.
Dachte mit Modulo 12 könnte ich es machen, aber dann wird nur jede 12. Zeile mit einer andere Farbe versehen. Kann mir jemand helfen?

Beispiel:

for ($i=1; $i <= 48; $i++) {	  
					  
	if(($i % 12)) {  
		$farbe = "1";  
	}  
	else {  
		$farbe = "2";  
	}  
					  
}

Vielen Dank im voraus und schöne Feiertage
Gruss
Nilo

  1. hi Nilo,

    $farbe = ceil($i+1/12);

    mfg

    tami

  2. for ($i=1; $i <= 48; $i++) {

    Du machst es Dir selbst schwer in dem Du bei 1 anfängst.

    Vergleiche:

    [code lang=php]<?php
    $max=48;
    $change=12;
    $farbe[0]='#ffaaaa';
    $farbe[1]='#aaaaff';

    for ($i=1; $i<=48; $i++) {
          $ci=floor(($i/$change - 1/($change+1)))%count($farbe);
          print $i . ': ' . $ci . ':' . $farbe[$ci] . "\n";
    }

    for ($i=0; $i<48; $i++) {
          $ci=floor($i/$change)%count($farbe);;
          print $i . ': ' . $ci . ':' . $farbe[$ci] . "\n";
    }

      
      
    Jörg Reinholz
    
  3. Tach!

    Anstatt mit even und odd eine Zebrastreifen zu generien, möchste ich alle 12 Zeilen die Farbe wechseln.

    Das dann aber als Zebra, also nach 12 weiteren Zeilen wieder zurück?

    Dachte mit Modulo 12 könnte ich es machen, aber dann wird nur jede 12. Zeile mit einer andere Farbe versehen.

    Du könntest beim Nulldurchgang der Modulo-Rechnung ein Flag in die entgegengesetzte Richtung setzen. Anhand dieses Flags formatierst du dann auch so oder anders.

    dedlfix.

  4. Anstatt mit even und odd eine Zebrastreifen zu generien, möchste ich alle 12 Zeilen die Farbe wechseln.

    even und odd aus CSS? Dazu bräuchtest du kein PHP, auch wenn's mit CSS etwas wild aussieht.

    Erste Gruppe:
    :nth-child(24n+1) :nth-child(24n+1) :nth-child(24n+2) … :nth-child(24n+12)

    Zweite Gruppe:
    :nth-child(24n+13) :nth-child(24n+1) :nth-child(24n+2) … :nth-child(24n+24)

    1. Om nah hoo pez nyeetz, Mattes!

      even und odd aus CSS? Dazu bräuchtest du kein PHP, auch wenn's mit CSS etwas wild aussieht.

      Erste Gruppe:
      :nth-child(24n+1) :nth-child(24n+1) :nth-child(24n+2) … :nth-child(24n+12)

      Zweite Gruppe:
      :nth-child(24n+13) :nth-child(24n+1) :nth-child(24n+2) … :nth-child(24n+24)

      Eine der beiden Gruppen brauchst du nicht zu benennen. Dann wäre auch der cnp-Fehler nicht passiert ;-)

      tr {
        color: red;
      }
      tr:nth-child ... {
        color: blue;
      }

      Matthias

      --
      Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Bus und Bussard.

      1. Erste Gruppe:
        :nth-child(24n+1) :nth-child(24n+1) :nth-child(24n+2) … :nth-child(24n+12)

        Zweite Gruppe:
        :nth-child(24n+13) :nth-child(24n+1) :nth-child(24n+2) … :nth-child(24n+24)

        Eine der beiden Gruppen brauchst du nicht zu benennen. Dann wäre auch der cnp-Fehler nicht passiert ;-)

        Das war als Übung für den Fragenden gedacht!1elf …

    2. @@Mattes:

      nuqneH

      Anstatt mit even und odd eine Zebrastreifen zu generien, möchste ich alle 12 Zeilen die Farbe wechseln.

      even und odd aus CSS? Dazu bräuchtest du kein PHP, auch wenn's mit CSS etwas wild aussieht.

      Und da man sich keinen Wolf tippen will, nutzt man seinen Lieblings-Präprozessor:
      http://sassmeister.com/gist/c35868f5625c0fcca157

      Und da man nicht so viel generiertes CSS haben möchte und das vielleicht auch wiederverwenden möchte, als Mixin:
      http://sassmeister.com/gist/ceb085f6e7146721165b

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  5. Om nah hoo pez nyeetz, Nilo!

    Anstatt mit even und odd eine Zebrastreifen zu generien, möchste ich alle 12 Zeilen die Farbe wechseln.

    Dafür wird es ja einen Grund geben. Bestimmt gehören die 12 Zeilen (einer Tabelle) irgendwie zusammen. Grund genug, sie in einen gemeinsamen tbody zu stecken.

    Dafür wird es ja einen Grund geben. Bestimmt gehören die 12 Zeilen (einer Aufzählung) irgendwie zusammen. Grund genug, sie in eine eigene (Unter-)Liste zu stecken.

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Fass und Fassade.

    1. Hallo,

      Bestimmt gehören die 12 zusammen.

      Vielleicht die 12 Monate eines Jahres.

      Würdest du den fortlaufenden Kalender deshalb auseinanderreißen?

      Gruß
      Kalk

      1. Om nah hoo pez nyeetz, Tabellenkalk!

        Bestimmt gehören die 12 zusammen.
        Vielleicht die 12 Monate eines Jahres.

        Würdest du den fortlaufenden Kalender deshalb auseinanderreißen?

        Ja. In ein gemeinsames Element stecken != auseinanderreißen.

        Matthias

        --
        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Post und Posten.

  6. Vielen Dank euch allen.
    Mit eure Infos kann ich nun was damit anfange.

    Grüsse
    Nilo