Markus: In einer mysql_fetch_row Schleife zwei Werte vergleichen

Hallo liebe Forenteilnehmer,

bin ganz verzweifelt & hoffe auf eure Hilfe:

Mittels while ($row = mysql_fetch_row($result)lese ich eine Datenbankabfrage aus und gebe sie zeilenweise in Tabellenform aus:

....<tr><td>Erklärender Text zu $row[14]</td><td>Erklärender Text zu $row[15]</td></tr><tr><td>$row[14]</td><td>$row[15]</td>....

Ich möchte aber diese erklärenden Zwischenzeile nur ausgeben, wenn
z.B. der Wert von $row[14] aus 1.Zeile ungleich Wert von $row[14] aus 2.Zeile der Datenbankabfrage ist!!!!
Nur das ist mein Problem, wie verpacke ich den Vergleich in eine "Wenn - Dann Bedingung"

Für Tipps schonmal tausend Dank

Markus

  1. hi,

    Ich möchte aber diese erklärenden Zwischenzeile nur ausgeben, wenn
    z.B. der Wert von $row[14] aus 1.Zeile ungleich Wert von $row[14] aus 2.Zeile der Datenbankabfrage ist!!!!

    du willst also das haben, was der programmierer einen "gruppenwechsel" nennt.

    du merkst dir also am ende deiner schleife den aktuellen wert, und beim nächsten durchlauf vergleichst du diesen mit dem neuen aktuellen.

    pseudocode:

    $row14alt = ""; // startwert für vergleich - leer, oder irgendein anderer wert, der im ergebnis garantiert nicht vorkommt

    while ( ... ) // schleife über ergebnis
    {
       if ($row[14] != $row14alt) { ... } // irgendwas ausführen, wenn gruppenwechsel stattgefunden hat

    // hier sonstige aktionen der schleife ausführen

    $row14alt = $row[14];
    }

    gruss,
    wahsaga

    1. ..das ging ja schnell, Danke - Nur

      du merkst dir also am ende deiner schleife den aktuellen wert, und beim nächsten durchlauf vergleichst du diesen mit dem neuen aktuellen.

      meinst du mit Ende der Schleife den gesamten while Durchlauf?
      Ich muss den Vergleich der Werte zu Beginn jeder neuen Zeile durchführen

      Markus

      1. hi,

        meinst du mit Ende der Schleife den gesamten while Durchlauf?
        Ich muss den Vergleich der Werte zu Beginn jeder neuen Zeile durchführen

        ja, _jedes mal_ nachdem die schleife einmal durchlaufen wurde.
        (ich gehe davon aus, dass ein durchlauf deiner while-schleife auch jeweils einen datensatz des ergebnisses verarbeitet.)

        gruss,
        wahsaga

        1. Nur ein großes Dankeschön, es funktioniert
          Sonnige Gruesse aus Hannover
          Markus

  2. Hi,

    Ich möchte aber diese erklärenden Zwischenzeile nur ausgeben, wenn
    z.B. der Wert von $row[14] aus 1.Zeile ungleich Wert von $row[14] aus 2.Zeile der Datenbankabfrage ist!!!!

    dann musst Du den Wert jener Zeile, die Du gerade nicht vor Dir hast, zuvor gespeichert haben. Zu welchem Zweck dienen eigentlich die drei letzten Ausrufezeichen, und, wenn ich es mir recht überlege, auch das erste?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. Hallo,

    Nur das ist mein Problem, wie verpacke ich den Vergleich in eine "Wenn - Dann Bedingung"

    Schau Dir mal mysql_result() an. Damit wird quasi eine Ergebnis-Matrix der Reihen und Spalten erhalten, die jeweils ab 0 indexiert sind. Somit laesst sich elegent anhand der Indizes auf die Daten zugreifen.

    MfG, Thomas