Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Porównywanie różnych wersji tabeli
Forum PHP.pl > Forum > PHP
mlawnik
Witam,

cyklicznie pobieram pewną tabelę, aby zapisywać zachodzące w niej zmiany.

Komórki w tabeli mogą zmieniać zawartość, zostać dodane lub usunięte.

Mam napisany skrypt który odpowiednio obrabia komórki, teraz chciałbym wykrywać zmiany.
Obecnie sprawdzam, czy komórka jest pusta czy nie i dodaję nowe komórki jeżeli nie ma ich w bazie.
Wyciąganie ich z bazy i porównanie z wyciągniętymi z obecnej wersji wydaje mi się mało wydajne.

Czy dobrym pomysłem jest użycie jakiegoś narzędzia typu diff (zakładamy, że zapisuję kod źródłowy każdej zmienionej tabelki) i przetwarzanie tylko zmienionych wierszy (To znaczy także usuwanie z bazy usuniętych). Oprócz tego zapisywałbym jakie wiersze zostały usuniete/dodane.

Czy można to zrealizować w jakiś wydajniejszy sposób?

Czy możecie polecic jakieś biblioteki do rozwiązania tego problemu/po prostu nazwę tego problemu po angielsku?

Pozdrawiam,
mlawnik
kartin
Dobrym rozwiązaniem jest zrobienie tego w bazie danych i użycie trigger-ów.
mlawnik
Klaryfikacja

To wszystko dzieje się w bazie danych.
Problemem głównym jest to, że nie mam pomysłu jak efektywnie wykrywać usunięcie wiersza.
Elementy nie dodają się ponownie przez dodanie UNIQUE, co też nie jest idealnym rozwiązaniem bo tabela ta nie posiada unikalnych kombinacji wartości.

Poczytam o triggerach.

EDIT

Triggery wydają się dobre do logowania zmian. Myślę że będą dobre do wykorzystania w tym celu.

Dla przyszłych pokoleń:
http://code.tutsplus.com/articles/introduc...gers--net-12226


Jak przeprowadzić porównanie dwóch tabel w html?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.