![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 2 Dołączył: 10.07.2007 Ostrzeżenie: (10%) ![]() ![]() |
witam,
Jak sprawdzacie w swoich skryptach, że użytkownik dokonał jakiś zmian podczas edycji danych (standard: <form ...>)? Ja umiem wykryć tylko, że użytkownik wysłał formularz i być może coś się zmieniło ale równie dobrze nic nie zmieni i kliknie zapisz to wyświetli mu komunikat, że "dane zapisano". Po głowie chodzi mi porównywanie danych z bazy mysql do tych z formularza, które użytkownik przesłał ale w przypadku programowania strukturalnego i dużej ilości pól jest to trochę brzydkie. Jakie macie na to sposoby? -------------------- aerobiczna 6 Weidera - forum o zdrowiu - firmy zajmujące się reklamą z całej Polski - dodaj swój wpis za darmo!
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jedyny sposób po sprawdzenie każdego pola z odpowiadającym mu w bazie danych. O ile formularz nie reprezentuje jakiejś paskudnie rozbudowanej (relacyjnie) struktury to nawet nie będzie to specjalnie męczące:
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 202 Pomógł: 36 Dołączył: 10.06.2011 Skąd: Dokąd Ostrzeżenie: (0%) ![]() ![]() |
Ja mam formularz, w którym inputy i textaree są aktywowane po zaznaczeniu checkboxa. Jak użytkownik chce coś zmienić, to klika checkboxa i aktywuje się do edycji odpowiednie pole.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 2 Dołączył: 10.07.2007 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Jak użytkownik chce coś zmienić, to klika checkboxa i aktywuje się do edycji odpowiednie pole. a jak zaznaczy ale nic nie zmieni to co? -------------------- aerobiczna 6 Weidera - forum o zdrowiu - firmy zajmujące się reklamą z całej Polski - dodaj swój wpis za darmo!
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 202 Pomógł: 36 Dołączył: 10.06.2011 Skąd: Dokąd Ostrzeżenie: (0%) ![]() ![]() |
Na ogół zaznaczają tylko wtedy, kiedy chcą coś zmienić. A pola są takie, że osoba, która wchodzi, wie, co chce zmienić - i tylko to zaznacza. Nie jest to doskonałe rozwiązanie, ale na pewno szybsze niż porównywanie, czy coś się zmieniło, albo dodawanie wszystkiego na pałę (minimalnie szybsze, ale zawsze coś).
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 2 Dołączył: 10.07.2007 Ostrzeżenie: (10%) ![]() ![]() |
a są jakieś wzorce, klasy, szablony, funkcje dotyczące edytowania danych ?
Ja to pisze tak jak 100 lat temu czystym kodem php bez oop ;p -------------------- aerobiczna 6 Weidera - forum o zdrowiu - firmy zajmujące się reklamą z całej Polski - dodaj swój wpis za darmo!
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Prościutki przykład jak sprawdzić czy coś się zmieniło... $row to wiersz z bazy danych. Bolączką tego rozwiązania jest to że nazy kolumn muszą odpowiadać nazwom pól z formularza ale coś za coś ![]() Ten post edytował CuteOne 21.09.2011, 20:10:22 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Na ogół zaznaczają tylko wtedy, kiedy chcą coś zmienić. [...] Na ogól w edycję danych wchodzi się tylko wtedy, gdy chce się coś zmienić.Na dobrą sprawę możesz wszystko zaktualizować. MySQL sam przed wprowadzeniem zmian sprawdza czy w ogóle trzeba je wprowadzać (czy dane się różnią). W dodatku po wykonaniu UPDATE-a możesz przy pomocy ROW COUNT-a zobaczyć ile rekordów zostało faktycznie zaktualizowanych (0 - dane się nie zmieniły, 1+ - dane się zmieniły). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 2 Dołączył: 10.07.2007 Ostrzeżenie: (10%) ![]() ![]() |
za ROW COUNT wielkie dzięki!
-------------------- aerobiczna 6 Weidera - forum o zdrowiu - firmy zajmujące się reklamą z całej Polski - dodaj swój wpis za darmo!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:05 |