![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 1.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Czy jest jakiś sposób aby aktualizować tylko to co istnieje/zostało zmienione? Zakładając że chce uaktualnić 2 pola w bazie, to robię tak:
Tylko co w przypadku, gdy nie prześlę nazwiska, bo np. nie jest wymagane? A chciałbym aby dokonał się update imienia? Ten post edytował uncuncunc 8.09.2012, 12:45:10 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
No tak... A pomyślałeś nad tym, że takie "pseudooszczędzanie" bazy to katorga dla wsszystkiego innego?
1. Obciążasz siebie - bo musiałbyś napisać kod, który sprawdza, co aktualizować, a co nie 2. Obciąża CPU - w końcu to CPU wykonuje ten kod A wszystko dla pseudooszczędności - celowo napisałem "pseudo", bo i tak aktualizujesz jeden rekord, więc nie ma wielkiego znaczenia, czy aktualizujesz jedno pole w tym rekordzie, czy 10. Mógłbym (ewentualnie) jeszcze zrozumieć, gdybyś chciał oszczędzić bazę przez sprawdzenie, czy cokolwiek zostało zmodyfikowane (czy wartości z bazy i z POST są różne). Ale dla jednego pola w rekordzie? Bez jaj... (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 1.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
abort - tylko że jak nie wyślę nazwiska postem, to update do bazy się nie wykona jak jest podane cokolwiek przez bindowanie, to musi być. Poza tym ,to był tylko przykład, tych pól jest znacznie więcej, chodzi o sam sposób. JAK to zrobić, aby działało bez znaczenia czy podpięta wartość istnieje czy nie.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czegoś chyba nie rozumiem, więc może powiem, co zrozumiałem i wiem:
1. Masz określony formularz 2. wyświetlasz go celem aktualizacji 3. Znasz więc pola (WSZYSTKIE!) 4. Konstruujesz instrukcję do bazy, by uaktualniła wszystkie pola Jedyny "problem", jaki możesz znaleźć, to fakt, że $_POST['pole'] nie będzie istnieć, jeśli w formularzu odpowiednie pole nie zostanie wypełnione. Tu z pomocą przychodzi isset i instrukcje warunkowe - zakładam, że umiesz z nich korzystać. W czym Ty widzisz problem? Tylko łopatologicznie, pliz. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:18 |