![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Kanapa Ostrzeżenie: (0%) ![]() ![]() |
Chciałem zapytac co zrobic zeby zapytanie nie zamieniało wszystkich pol ktore nie są edytowane na pola puste ?
Zrobiłem skrypt ktory ma edytowac tylko okreslone pola w tabeli ale niewiem dlaczego wszystkie inne pola zamienia na puste ? zapytanie wyglada
czy ja cos zrobiłem nie tak (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Zapytanie nie ma nic do rzeczy, UPDATE nidgy nie zmienia wartości pól nie wymienionych na liście. Po prostu zmienne, które przekazujesz, pewnie są puste. Czy w zapytaniu masz wymienione wszystkie pola tabeli ? Jesli tak, sprawdź, czy w UPDATE gdzies nie ma np. kolumna1='', kolumna2='wartosc', kolumna3='' , bo wtedy UPDATE faktycznie wyczyści zawartość pól w kolumna1 i kolumna3 (bo taką wartość, czyli pusty string, dostał w liście).
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Kanapa Ostrzeżenie: (0%) ![]() ![]() |
Ale zapytanie wyglada tak jak wyżej a w tabeli jest jeszcze 10innych rekordów ktore sa wypełnione z innego formularza i chciałem zeby dopisywał te pola ktorych niema. Fakt faktem dopisuje ale kasuje wszystkie inne
|
|
|
![]()
Post
#4
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
To może pokaż większy fragment kodu, bo to, co jest w pierwszym poście jest z punktu widzenia SQL poprawne. Błąd musi byc gdzie indziej
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 44 Dołączył: 14.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Troche kolega namotal ale moze chodzi o warunek if(empty...)
Kod if (!empty($sysok)){ $zapytanie =mysql_query ("UPDATE dane SET nrwew='$nrwew',sysok='$sysok',oktyp='$oktyp',jo='$jo',okd='$okd',datp='$datp',pdat='$pdat',proz='$proz',pzak='$pzak',dzak='$dzak',dodal3='$dodal' WHERE nr='$nr'"); }else{ $zapytanie =mysql_query ("UPDATE dane SET nrwew='$nrwew',oktyp='$oktyp',jo='$jo',okd='$okd',datp='$datp',pdat='$pdat',proz='$proz',pzak='$pzak',dzak='$dzak',dodal3='$dodal' WHERE nr='$nr'"); } Czyli gdy zmienna $sysok nie jest pusta zostanie wyslana do bazy a gdy jest pusta zostanie pominiete przy wysylaniu... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:44 |