![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 2.09.2009 Ostrzeżenie: (0%)
|
Witam serdecznie mam kod w php w którym użytkownik może zmieniać swoje dane, i teraz chciałbym aby były zmieniane tylko dane których pola zawierają jakąś wartość tzn. że jeżeli wypełnię tylko pole Imię to chciałbym żeby tylko imie się zmeniło , a niestety w dotychczasowym kodzie reszta zmienia się także i w tym przypadku podstawiane są puste pola. Proszę o pomoc jakbym mógł to rozwiązać, odrazu powiem że cały kod robię dla nauki.
Pozdrawiam! |
|
|
|
Post
#2
|
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Pobierz dane z bazy i wrzuć je do formularza. Po zatwierdzeniu, dostaniesz wszystkie dane, zmienione i te nie... Ew, wrzuć do sesji.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 2.09.2009 Ostrzeżenie: (0%)
|
No tak że na to nie wpadłem bardzo dobry pomysł dziękuję bardzo:)
Liczę też na to że jeżeli ktoś ma inne pomysły to też się podzieli nimi w moim temacie (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
A czemu nie sprawdzasz jakie pola są niepuste? jeśli to zrobisz to w teorii tylko odpowiadające im kolumny możesz dodać do UPDATE.
Przykład? Jako parametr dajesz tablicę, z której usuwasz wszystkie pola, których wartości są puste. Teraz tylko coś analogicznego do:
Oczywiście nie dałem tu ochrony przed sqlinjection czy tego jak ową tablice przygotować, tylko ogólny zamysł. Używając FW z query_builderami całość jest jeszcze prostsza. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 2.09.2009 Ostrzeżenie: (0%)
|
Dzięki thek, twoja sugestia odzwierciedla dokładnie to o co mi chodziło od samego początku, nie będę musiał wysyłać za każdym razem wszystkich pól tylko te które są "niepuste" czyli do zmiany:)
Teraz tylko pozostaje mi rozmyślić jak wrzucic do tablicy wartości ale myślę że dam radę(IMG:style_emoticons/default/smile.gif) Pozdro! |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Sugestia ~Kshyhoo jest lepsza od ~theka. Pomyśl co się stanie w momencie, gdy będę chciał usunąć niektóre swoje dane? Przykładowo: mam wpisany numer telefonu, ale jednak wolałbym go nie podawać, więc wyczyszczę zawartość pola z telefonem. Pole w bazie nie zostanie zaktualizowane bo zostanie pominięte jako puste. Będę musiał kombinować z wpisywaniem jakiś głupot by ukryć mój faktyczny numer telefonu.
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 2.09.2009 Ostrzeżenie: (0%)
|
Hmm no tutaj masz rację, i w sumie jest to szybsza metoda. Od samego początku chciałem zrobić tak jak mówi thek. Oba pomysły są fajne i bardzo mi pomogły, ale z drugiej strony jest prawdą że ktoś może nie chcieć podawać wszystkich danych. Jeszcze jakby inaczej patrzeć to nawet jakbym wymagał od każdego wszystkich danych to w niczym nie będzie przeszkadzać to że nadpiszę tak jakby niektóre pola.
|
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Phpion oczywiście ma rację co do "czyszczenia pól". Ja podałem tylko techniczną stronę "Czy się da tak zrobić, żeby...", gdyż to czy zastosujemy sposób przeze mnie prezentowany czy Kshyhoo tak naprawdę jest tylko kawałkiem backendu i do tego jego jednym z ostatnich. Plusem mojego jest możliwość edycji konkretnych pól bez dotykania niepotrzebnie innych, ale to które rozwiązanie jest lepsze zależy od choćby frontu. Może bowiem być opcja czyszczenia jednego lub dwóch pól poprzez checkbox w stylu "Wyczyść tekst" i bez możliwości wyświetlenia innych. W ten sposób ingerencja w jedną kolumnę jest o wiele prostsza. Ale jak zaznaczam, to JAK się podejdzie do update w pewien sposób zależy od założeń projektu.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 04:59 |