DB Felder vergleichen und differenz ausgeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DB Felder vergleichen und differenz ausgeben

    Hallo,
    ich habe mal ein Frage an euch, ich lese zwei Datensätze aus der DB ein.
    Nun möchte ich den Inhalt der beiden eingelesen Felder miteinander vergleichen und die Werte ausgeben die im anderen Feld nicht vorhanden sind, in dem folgenden Beispiel wäre es der Wert "5".

    Beispiel :

    Feld A ='1','2','3','4','5','6','7', // Inhalt Tabellenfeld A :
    Feld B ='1','2','3','4','6','7', // Inhalt Tabellenfeld B :


    Im Grunde könnte man es ja so machen:

    $array1 = array ('1','2','3','4','5',); // Inhalt Tabellefeld A :
    $array2 = array ('1','2','3','4','6',); // Inhalt Tabellefeld B :

    $result = array_diff ( $array1, $array2 );
    while ( list ( $key, $val ) = each ( $result ) )

    {
    echo "AUSGABE: ". $val . '<br>';
    }

    [COLOR=crimson] AUSGABE 5 [/COLOR]
    Nur ich muss die eigelesenen DB Felder irgendwie umwandeln, ich kann den eigelesenen Datensatz nicht direkt so wie unten ins Array schreiben :


    $array1 = array ([COLOR=crimson] $ROWausgabeDB_feld["A"][/COLOR] ); // Inhalt Tabellefeld A :
    $array2 = array ([COLOR=crimson] $ROWausgabeDB_feld["A"][/COLOR] ); // Inhalt Tabellefeld B :

    $result = array_diff ( $array1, $array2 );
    while ( list ( $key, $val ) = each ( $result ) )
    .
    .
    .

    Danke für die Hilfe

  • #2
    Generell ist das ein denkbar schlechtes Format für eine normalisierte Datenbank.

    Kannst dir aber mal im- und explode() ansehen, damit kommst du zum Ziel.

    Kommentar


    • #3
      Ich weiss das das nicht optimal ist, es ist leider ein fertiges Script was ich versuche etwas aufzuräumen.
      Es werden dort Userid´s in die Felder nacheinander geschrieben, die eben durch ein Komma getrennt werden.
      Ich habe auch schon mit Explode gearbeitet, ich dachte nur das man die eigelesenen Felder in das passende Array umdandeln könnte, das man so wie oben mit "array_diff" arbeiten könnte.

      So geht es :

      $array1 = array ('1','2','3','4','5',);
      $array2 = array ('1','2','3','4','6',);

      So aber nicht :

      $a="'1','2','3','4','5',";
      $b="'1','2','3','4','6',";

      $array1 = array ($a);
      $array2 = array ($b);


      Wie müsste man jetzt $a und $b umwandeln das es funktioniert ?
      Zuletzt geändert von stefffen01; 05.03.2009, 14:06.

      Kommentar


      • #4
        Wie wärs denn wenn du die Arrays mit serialize() serialisierst bevor du sie abspeicherst?
        Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

        Kommentar


        • #5
          Ich habe auch schon mit Explode gearbeitet, ich dachte nur das man die eigelesenen Felder in das passende Array umdandeln könnte, das man so wie oben mit "array_diff" arbeiten könnte.
          Wenn du schonmal damit gearbeitet hast, dann solltest du doch wissen wie es geht!?

          Wie wärs denn wenn du die Arrays mit serialize() serialisierst bevor du sie abspeicherst?
          Da kann er direkt das ganze Script vernünftig anpassen!

          Kommentar


          • #6
            Stimmt auch wieder
            Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

            Kommentar

            Lädt...
            X