2 Spalten einer Datenbank und einer Tabelle vergleichen

piti66

Erfahrenes Mitglied
Hey,

irgendwie will es heute nicht bei mir!:-)
Also ich will in einer Tabelle 2 Spalten(einer davon ist nämlich archiviert und verändert, aber zum größten teil sind sie gleich - bis halt auf die änderungen) vergleichen(ca.100Felder) und den unterschied dann ausgeben.
Weiß jemand wie ich dass am besten machen kann!
Die alte und die neue id der Datensätze habe ich bräuchte also nur vergleichen!

Danke schonmal!

mfg

sebastian
 
Ist jetzt nicht getestet und weis auch nicht, ob es klappt.
SQL:
SELECT t1.* FROM tabelle1 as t1, tabelle2 as t2 WHERE t1.name != t2.name AND t1.ID = t2.ID
Das gibt dir jetzt die Daten aus Tabelle 1 aus. Sagen wir mal, dass das die Tabelle mit den aktuellen Daten ist. Willst du die gesicherten Daten haben, ersetzte t1.* durch t2.*
 
fanste hat gesagt.:
Ist jetzt nicht getestet und weis auch nicht, ob es klappt.
SQL:
SELECT t1.* FROM tabelle1 as t1, tabelle2 as t2 WHERE t1.name != t2.name AND t1.ID = t2.ID
Das gibt dir jetzt die Daten aus Tabelle 1 aus. Sagen wir mal, dass das die Tabelle mit den aktuellen Daten ist. Willst du die gesicherten Daten haben, ersetzte t1.* durch t2.*

Danke erstmal, aber ich will nichts ersetzen oder so ich will nur die einzelnen zeilen vergleichen und den unterschied dann per mail verschicken bzw. auf dem Bildschirm ausgeben. :p Achso es ist eine Tabelle!
Also brauch ich dann die Ausgabe der Unterrschiede.
z.bsp.
Name(zeile1)=Bernd
Name(zeile2)=Bernd
sind gleich also keine ausgabe.
Ort(zeile1)=Berlin
Ort(zeile2)=Rostock
sind unterschiedlich also möcht ich eine ausgabe der änderung!

Hoffe ist jetzt klar was ich meine

mfg
 
Hab es jetzt mal mit 2 Arrays probiert die verglichen werden!

PHP:
 $query_dat1="SELECT * FROM marktpartner WHERE id = '770'";
  $abfrage1=mysql_query($query_dat1);
  $array_dat1=mysql_fetch_array($abfrage1);
  
  $query_dat2="SELECT * FROM marktpartner WHERE id = '771'";
  $abfrage2=mysql_query($query_dat2);
  $array_dat2=mysql_fetch_array($abfrage2);    


    $vergleich=array_diff($array_dat1, $array_dat2);
    print_r($vergleich);

So funktioniert es jetzt!

mfg
 
Eine Frage hab ich aber noch!
Hab jetzt zwar die unterschiede aber ich möcht die Spaltennamen auch haben! Dass man genau schreiben kann was sich geändert hat!

PHP:
  $query_dat1="SELECT * FROM marktpartner WHERE id = '771'";
  $abfrage1=mysql_query($query_dat1);
  $array_dat1=mysql_fetch_array($abfrage1);
  
  $query_dat2="SELECT * FROM marktpartner WHERE id = '770'";
  $abfrage2=mysql_query($query_dat2);
  $array_dat2=mysql_fetch_array($abfrage2);    


    $vergleich=array_diff($array_dat1, $array_dat2);
    //print_r($vergleich);
  $vergleich=array_unique($vergleich);
    foreach($vergleich as $verg)
  echo $verg,"<br>";

Folgend ausgabe hab ich:

771
GmbH & Co.Kg
5
Leipzig
363008085

Jetzt möcht ich halt auch die Spaltennamen davor haben! Ist dass irgendwie möglich?

mfg
 
Zurück