[php][mysql]aktualizacja rekordów

0

Witam

Mam bazę w której przechowuje dane klientów. Robię skrypt w którym każdy klient może modyfikować swoje dane przez formularz.
Mam zapytanie do bazy odpowiedzialne za aktualizację danych

$zapytanie = "update xxxxx set ilosc_dlugopisów='$dlugopis', ilosc_olowkow = '$olowek', ilosc_mazakow = '$mazak' where  klient='$klient' "; 

załóżmy, że dla klienta1 dane w bazie to:
ołówek- 10
długopis - 20
mazak - 3

W formularzu wpisuje wartości ale gdy np dla ołówka pozostawię puste pole - to w bazie danych po update kasuje się wartość 10 i zostaje w rekordzie puste pole.

Czy jest możliwość aby w przypadku gdy klient nie wpisze nowej wartości np dla ołówka w formularzu to po wykonaniu update pozostał w bazie rekord 10 bez jego wyczyszczenia ??

Jeśli tak to co należy wykonać aby to zrobić

prosze o pomoc

1

przykładowo możesz wykonać osobne zapytania dla ołówka, długopisu i mazaka

if($dlugopis) mysql_query("update xxxxx set ilosc_dlugopisów='$dlugopis' WHERE klient='$klient'");
if($olowek) mysql_query("update xxxxx set ilosc_olowkow = '$olowek' WHERE klient='$klient'");
if($mazak) mysql_query("update xxxxx set ilosc_mazakow = '$mazak' where  klient='$klient'");

Pozdrawiam.

0

xBounty dokładnie działa tak jak chciałem :)

dziękuje bardzo

0
$updateSet = array();
if ($dlugopis) $updateSet[]='dlugopis=' . $dlugopis;
...
$q = 'update x set ' . implode(', ', $updateSet) . ' where ...';
0

dzięki Nav

1 użytkowników online, w tym zalogowanych: 0, gości: 1