Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> brak wartości w bazie danych mysql
olo707
post
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 30.03.2012

Ostrzeżenie: (0%)
-----


Witam
Właśnie tworze małą aplikację (w oparciu o PHP i Mysql), w której użytkownik będzie miał możliwość zarejestrowania się , zalogowania i edytowania swoich danych po pomyślnym zalogowaniu. Konstrukcja tabeli w bazie danych jest standardowa (Pierwsze pole to oczywiście id jako Integer, auto increment i primery key. Reszta pól to Varchar not null m.in dla nazwiska, imienia, pseudonimu, email itd ). Zapytanie sql wygląda tak

  1. mysql_query("UPDATE lista SET
  2. name = '{$this->name}',
  3. surname = '{$this->surname}',
  4. nick = '{$this->nick}',
  5. email = '{$this->email}',
  6. phone = '{$this->phone}',
  7. birthday = '{$this->birthday}'
  8. WHERE `id` = '{$_SESSION['ID']}'
  9. ");
  10.  


Na chwile obecną gdy użytkownik będzie chciał edytować np tylko name a pozostałe pola formularza pozostawi puste (nic w nie wpisując) to te "puste wartości "
z pozostałych pol nadpiszą w bazie danych pola wypełnione podczas rejestracji (czyli je wykasują pozostawiając pustą wartość). Jak osiągnąć taki efekt aby tylko wpisane wartości w formularzu HTML były uaktualniane a te nie wpisane po prostu się nie uaktualniały. Próbowałem następujących rozwiązań
Kod
$this->name     =    (isset($_POST['name']) == TRUE && !empty($_POST['name']) == TRUE) ? $this->filter($_POST['name']) : null;


zamieniałem również null na false i '' (pusty string ) ale efekt był ten sam. filter z kodu powyżej to funkcja (metoda), która przy pomocy wyrażeń regularnych określa co może się znaleźć w bazie danych. Z góry dzięki za pomoc

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 22:24