Vergleichen von Daten zwischen zwei MySQL-Tabellen mit PHP
Ich habe zwei Tabellen table1
= Datensätze, table2
= Duplikate. Beide Tabellen enthalten eine variable Anzahl von Spalten, die zu jeder gegebenen Zeit, und Sie enthalten beide die genau gleichen Spalten, mit Ausnahme von table2
einen zusätzlichen ID
Spalte... Beide Tabellen enthalten eine Spalte user_id
. Die Daten stammen aus einer CSV importieren. Wenn die user_id
bereits in table1
es ist eingefügt in table2
.
Mit table2
ich muss in der Lage sein, greifen Sie alle Zeilen und drucken Sie diese in einer Tabelle, ist das kein problem. Der Teil, ich habe eine harte Zeit, herauszufinden,... Für jede Spalte in table2
dass wird gedruckt, die ich brauche, um zu überprüfen, ob die Daten passt(basierend auf der user_id
) die Daten in table1
und irgendwie flag... (vielleicht eine andere Hintergrundfarbe für die Tabelle-Zelle)
Beispiel:
table1
enthält die Zeile:
user_id | user_name
-------------------
2342342 | some name
sowie table2
:
user_id | user_name
-------------------
2342342 | different name
dann die Ausgabe wäre:
-----------------------------------------
|2342342 | *flag* different name *flag* |
-----------------------------------------
Eine Idee, wie könnte ich diese Arbeit machen? Wenn es hilft jedem, Baue ich diese app mit Codeigniter.
InformationsquelleAutor mike | 2010-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Abfrage wählen Sie alle Einträge aus Tabelle2 und wenn der name anders ist als der name in Tabelle1
is_different
wird 1, andernfalls ist es 0:BEARBEITEN
Können Sie mehrere tests in einer Abfrage, wenn Sie brauchen, um zu vergleichen, die mehr als eine Spalte:
Wenn ich dich richtig verstanden habe; sicher, Sie können vergleichen Sie alle Spalten mit der gleichen Methode. Das einzige, was zählt, ist, dass die ID ' s der zu vergleichenden Zeilen gleich sind (offensichtlich). Ich bearbeitet meine Antwort zu zeigen, wie Sie fügen Sie mehrere tests in einer Abfrage an.
ah... ich sehe, macht Sinn jetzt. danke!
wenn es für Sie gearbeitet, vergessen Sie nicht, markieren Sie die Antwort so akzeptiert 🙂
kein problem, fertig! 😉
InformationsquelleAutor Tatu Ulmanen
dann kann Ihr Skript überprüfen Sie alle Felder, die Sie vergleichen möchten, und Optional drucken Sie die 2 Werte nebeneinander.
drucken können Sie jeden Datensatz zurückgegeben, und unter den Abweichungen ist, drucken Sie eine zweite Zeile enthält die ursprünglichen Werte für einen einfachen Vergleich:
InformationsquelleAutor jspcal
Ich denke, es ist am besten, dass Sie eine sql-Abfrage.
Zum Beispiel:
InformationsquelleAutor vdrmrt
Nutzen Sie diese einfache beizutreten. PHP sollte nicht stören mit den Daten der Auswahl und Bestellung, RDBMS die Arbeit machen.
InformationsquelleAutor erenon
Ich denke, der beste Weg ist
mysql
verwendenmysqli
stattInformationsquelleAutor masoud2011