![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 9.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam sie jak zrobić logowanie zmian w stylu: użytkownik wchodzi do edycji danych (np. produktu) i zmienia np. tylko jego cenę. Muszę zarejestrować zmianę ceny (tylko ceny, użytkownik opisu i innych wartości nie zmieniał). System został napisany przez kogoś innego i jest dosyć spory.
Co mi przychodzi do głowy to tyle, żeby za każdym razem przy zapisie wywoływać funkcję z tytułem operacji, nazwą pola i jego wartością. Tak jak pisałem, system jest spory więc czekałoby mnie edytowanie wszystkie gdzie takie zmiany miałyby być rejestrowane. Inna sprawa, to jak wychwycić co było zmienione? Porównywać wprowadzone dane z tym co jest w bazie? Może jest jakieś inne rozwiązanie? Może ktoś już miał podobny problem? -------------------- only Google!
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
W jaki sposób masz realizowany zapis?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 9.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jest główna nadrzędna klasa w której jest metoda zapisu.
edit: ---- Zapis jest realizowany tak, że do metody jest podawana tablica w której są pola i wartości (zrzut $_POST) i klasa zapisuje je w wybranej tablicyMySQL. Ten post edytował drbane 23.07.2007, 15:01:23 -------------------- only Google!
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jest główna nadrzędna klasa w której jest metoda zapisu. edit: ---- Zapis jest realizowany tak, że do metody jest podawana tablica w której są pola i wartości (zrzut $_POST) i klasa zapisuje je w wybranej tablicyMySQL. Czemu nie możesz zrealizować tego modyfikując klasę nadrzędną i dodając odwołanie do logowania? Ewentualnie jeśli martwisz się Cross-cutting concern pomyśl nad użyciem AOP (chociaż pewnie to podejście odrzucisz - na początku będzie się wydawać że nie warto - ale nic bardziej mylnego). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 9.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
To nie jest problem, z tym ze log musi wygladac tak:
Cytat Zmiana ceny, 100 PLN Dodanie nowego produktu, nazwa: PROSZEK DO PRANIA Nie wiem skad mam wiedziec, ktore pole w formularzu bylo zmodyfikowane (tzn. teoretycznie moge porownac wczesniejsze dane z wprowadzonymi z formularza, ale ile to roboty - dziesiatki formularzy). Mam maly metlik w glowie, poniewaz mam modyfikowac nie swoj kod. Poprostu szef zazyczyl sobie logowania zmian w ten sposob no i teraz co? Mam caly kod tak przekopac? A nad projektem pracuje jeszcze 2 obcokrajowcow i tez chlopcy za kazdym razem musza wywolywac logowanie... -------------------- only Google!
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie do końca rozumiem, jak masz nadklasę product:
Bez większej ilości szczegółów nic nie można poradzić - nie można rozwiązać problemu którego się nie zna. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 9.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiscie rozumiem. To jest metoda ktorej wlasnie nie chcialbym uzyc. Chodzi mi o zautomatycowanie tego.
W tym systemie to wyglada tak: Kod Object --insert --save Product extends Object --insert --save --- edit: W sumie mysle tak: jak mam linki w stylu "product.php?action=update&id=2" to zrobie mape linkow z nazwami. Tylko jak wykryc te cholerne zmiany w $_POST?? Ten post edytował drbane 23.07.2007, 15:34:39 -------------------- only Google!
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja zrobilem cos podobnego do firmy
i mam tak ze zapisuje do bazy cala tablice $_POST tablice $_GET dziele url na strone glowna, adresy IP Wszystko to trzymam w bazie ktora raz w miesiacu zrzucam do pliku, niestety niemam jeszcze skryptu ktory by to ladnie wszystko dzielil zeby bylo to ladnie czytelne. Dodatkowo zrobilem przegladarke tego co jest w baze znam ten program wiec mniej wiecej wiem co ludzie robia jak sobie spojrze na te tablice. Dzis zrobilem ladna wyszukiwarke w Ajaksie wiec skrypt jest jeszcze bardziej fajny. Moze za pare dni uda sie napisac skrypt do dzielenia tych danych Ten post edytował skowron-line 23.07.2007, 15:43:20 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 9.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
No wlasnie tak to mialem zrobione, ale szefuncio chce zeby to wszystko ladnie sie nazywalo (np. "Zmiana ceny: 40PLN").
Ale juz jestem na dobrej drodze:) -------------------- only Google!
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
no my mamy narazie to tylko na potrzeby administratorow systemu wiec szef chyba jeszcze o tym nie wie, moze i lepiej bo zacznie wymyslac a i tak ma dosyc ciekawe pomysly ktore skutecznie uniemozliwiaja mi wyjscie z pracy
Ten post edytował skowron-line 23.07.2007, 15:48:27 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 12:39 |