Frank: In Schleife unregelmäßig Wert einer Variable ändern?

Hallo *;

leider habe ich im Archiv keine Antwort auf meine Frage gefunden.
Vielleicht hat jemand von Euch eine Lösung zum meinem Problem.

Ich habe zwei css-Klassen (class 'a' u. 'b'), die abwechselnd eingesetzt werden sollen, sobald sich der Wert in der Spalte 'segmap' ändert.
Im Beispiel unten sollte die css-Klasse ($class) bei dem Wert segmap=11 'a' betragen und erst dann zu 'b' wechseln, wenn segmap einen neuen Wert hat. Also bei segmap=4. Bei der nächsten Wertänderung von segmap sollte dann wieder class='a' sein usw....

db_name size, MB  segmap
MACOC   9000      11
MACOC   2000      11
MACOC   4000      11
MACOC   2000      4
MACOC   15000     19
MACOC   15000     19
MACOC   9000      19
MACOC   6000      11
MACOC   15000     11
MACOC   9000      11
MACOC   4000      0
MACOC   2000      3
MACOC   2000      4
MACOC   2000      4
MACOC   15000     27
MACOC   15000     11

Hat hierzu jemand eine Idee, wie man das mit PHP umsetzen kann? freue mich über jede antwort.

Gruß Frank :-)

  1. Nabend,

    Hat hierzu jemand eine Idee, wie man das mit PHP umsetzen kann?

    Du merkst dir den aktuellen Wert von $segmap. Falls er sich im aktuellen Satz davon unterscheidet, so änderst du auch $class auf das andere (zB: $class = ($class == "a") ? "b" : "a";). Dann merkst du dir auch das neue $segmap und beginnst von vorne.
    Gar nicht wirklich schwer, oder?

    Bis denne,

    1. Holladiewaldfee,

      Bis denne,

      Sowas nenne ich ausgleichende Gerechtigkeit:
      Letztes mal war ich schneller [pref:t=64731&m=368379], diesemal Du - und jedes mal in derselben Minute ;)

      Ciao,

      Harry

      --
        Herbst ist Wanderzeit!
        http://harry.ilo.de/projekte/berge/
      1. Nabend,

        Sowas nenne ich ausgleichende Gerechtigkeit:
        Letztes mal war ich schneller [pref:t=64731&m=368379], diesemal Du - und jedes mal in derselben Minute ;)

        Rate einmal, was ich gerade für einen Gedanken hatte. Genau, auch eine solche Bemerkung zu schreiben ;)

        Bis denne,

  2. Holladiewaldfee,

    Also, mal angenomme, die SegMap-Dinger stehen in einem Array $x:
    $x = array(11, 11, 11, 9, 11, ...);

    Dann:
    $classes = array('a', 'b');
    $cclass = 0;

    ... # ersten Satz ausgeben
    for($i=1, $j=count($x); $i<$j; $i++)
    { if($x[$i]!=$x[$i-1])
       $cclass++;

    ... # Aktuelle Klasse steht dann in $classes[$class%2]
    }

    Ciao,

    Harry

    --
      Herbst ist Wanderzeit!
      http://harry.ilo.de/projekte/berge/
  3. Du machst das so.

    $klassen=array("a", "b");
    $altwert="";
    $index=0;
    $gewesen=false;
    while($zeile=mysql_fetch_array($res))
    {
      if(!$gewesen)
            $index=0;
      else if($altwert == $zeile["segmap"])
            $index^=1;
      ###
      ?>
      <tr class="<?=$klassen[$index]?>">
      <th> <!-- Und hast du nicht gesehen,
        die geilste Ausgabe der Welt --> </th>
      <?php
      if($gewesen)
          $gewesen=true;
      $altwert=$zeile["segmap"];
    }

    Hallo *;

    leider habe ich im Archiv keine Antwort auf meine Frage gefunden.
    Vielleicht hat jemand von Euch eine Lösung zum meinem Problem.

    Ich habe zwei css-Klassen (class 'a' u. 'b'), die abwechselnd eingesetzt werden sollen, sobald sich der Wert in der Spalte 'segmap' ändert.
    Im Beispiel unten sollte die css-Klasse ($class) bei dem Wert segmap=11 'a' betragen und erst dann zu 'b' wechseln, wenn segmap einen neuen Wert hat. Also bei segmap=4. Bei der nächsten Wertänderung von segmap sollte dann wieder class='a' sein usw....

    db_name size, MB  segmap
    MACOC   9000      11
    MACOC   2000      11
    MACOC   4000      11
    MACOC   2000      4
    MACOC   15000     19
    MACOC   15000     19
    MACOC   9000      19
    MACOC   6000      11
    MACOC   15000     11
    MACOC   9000      11
    MACOC   4000      0
    MACOC   2000      3
    MACOC   2000      4
    MACOC   2000      4
    MACOC   15000     27
    MACOC   15000     11

    Hat hierzu jemand eine Idee, wie man das mit PHP umsetzen kann? freue mich über jede antwort.

    Gruß Frank :-)

  4. hi,

    Im Beispiel unten sollte die css-Klasse ($class) bei dem Wert segmap=11 'a' betragen und erst dann zu 'b' wechseln, wenn segmap einen neuen Wert hat. Also bei segmap=4. Bei der nächsten Wertänderung von segmap sollte dann wieder class='a' sein usw....

    kurz gesagt: du willst einen gruppenwechsel programmieren.
    wie das geht, dürftes du in jedem programmierhandbuch finden, oder auch per google.

    gruss,
    wahsaga

  5. Hallo *;

    vielen Dank an alle, für Eure schnellen Antworten.

    Gruß Frank :-)