MySQL: Datensätze einer Tabelle fest miteinander verknüpfen / gruppiert darstellen?

  • Besonders klappt das mit dem Wert nicht, so wie du das vorgeschlagen hast :(


    Ich probier schon alles mögliche. Mit durchlaufenden Nummern, wo ich dann sehe ob gerade oder ungerade (wollte es über den Rest bei der Division durch 2 machen). Aber da geht garnix... :( Vorallem klappen solche Sachen wie "$variable=$variable+1" überhaupt nicht. Da kommt immer kein Wert bei raus. Kannst du mir vielleicht nochmal weiterhelfen?


    Edit: hier mal ein ausschnitt:




    for ($i=0; $i<$num; $i++)
    {
    $nn = mysql_result($res, $i, "Teilenummer");
    $vn = mysql_result($res, $i, "Bezeichnung");
    $pr = mysql_result($res, $i, "Preis");
    $id = mysql_result($res, $i, "Ident");

    $farbe="#ff0000";


    $bb=$i%2;
    if ($bb=0) $farbe="#000000";



    echo "<font color=$farbe> $nn, $vn, $pr, $id, $i, $bb <br></font>";
    }



    Da kommt überhaupt nix bei raus. Bzw steht $bb immer auf dem Wert 0. Wenn ich die Zeile mit dem "if($bb=0)... " herausnehme, dann passt wenigstens die variable $bb nachher. Denn ist die dann einmal 1 und einmal 0.


    Warum ist das so komisch? Klingt für mich nicht logisch...

  • Wenn du die Daten mittels WHILE-Schleife ausgibst (sehr wahrscheinlich) dann setze vor der WHILE-Schleife eine Variable (z.b. $i auf 0 bzw. FALSE). In der Schleife negierst du die Variable ($i = !$i), damit wird $i jetzt abwechselnd wahr und falsch. Bei deiner Ausgabe prüfst du nun $i (if ($i) echo 'class="grau"' else echo 'class="weiß"'; ) Eventuell habe ich da jetzt Semikolons vergessen aber PHP wird dann meckern ;-)

  • Zitat

    Original geschrieben von Avalanche
    if ($bb==0) $farbe="#000000";


    Da ist der Fehler. Vergleiche mit == nicht mit =. Ist ein Anfängerfehler, passiert aber auch gerne mal flüchtig. Du setzt $bb immer auf 0, daher ist es auch 0... ;-)


    = Zuweisungsoperator, == Vergleichsoperator

  • Ich werd bekloppt ;) Dankeschön :top:


    Wobei das Wort "Anfänger" wohl noch zu gut ist für meine momentanen PHP Kenntnisse. Ich bastel mir gerade eben das was ich brauche aus irgend welchen Beispielen zusammen ;)

  • Auch wenn es dank Euch jetzt schon richtig gut aussieht, habe ich noch immer ein kleines Problem, dem ich nicht auf den Grund komme: Also ich bin nun schon soweit, dass die Farbe der Zeilen wechselt. Wie aber bekomme ich es hin, dass zwei aufeinanderfolgende Zeilen dann doch mal die selbe Farbe haben, und zwar dann, wenn ein bestimmter Eintrag der beiden Datensätze identisch ist?

  • Musst vor die Abfrage mit der Farbe noch eine andere Abfrage setzen und dir vorher den "alten" Wert in einer Variable sichern. Dann vergleichst du immer ob der "alte" Wert nicht mit dem aktuellen Wert übereinstimmt und änderst nur die Farbe wenn die beiden Werte unterschiedlich sind.

    -> Tristan @ Work <-
    --

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!