Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównanie pobranych z formularza danych do NULLa
beel
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 20.04.2007

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


Pobieram trzy wartości w JavaScript, dwie daty i jeden numeric (kwota). Jeśli nic nie zostanie wprowadzone to gdy porównam numeric do NULL'a, wie, że nic nie podano i odpowiednio reaguje (czyli do zapytania SQL wstawia NULLa), z datami niestety już to nie działa wstawia mi w zapytaniu coś takiego:
  1. data = ''

a chciałbym aby było:
  1. data = NULL

Kod wygląda tak:
  1. $dataZaw = $_POST['sUGO_DATA'];
  2. $kwota = $_POST['sUGO_KWOTA'];
  3. $terminSpl = $_POST['sUGO_TERMIN'];
  4.  
  5.  
  6. if (!is_int($_SESSION['S_tabSelectUgoda']))
  7. {
  8. if ($dataZaw == NULL)
  9. $sKomendaSQL = "UPDATE ugody SET data_umowy=NULL, termin_sp='$terminSpl', kwota=$kwota WHERE ug_id_proc = $cid";
  10. if ($terminSpl == NULL)
  11. $sKomendaSQL = "UPDATE ugody SET data_umowy='$dataZaw', termin_sp=NULL, kwota=$kwota WHERE ug_id_proc = $cid";
  12. if ($kwota == NULL)
  13. $sKomendaSQL = "UPDATE ugody SET data_umowy='$dataZaw', termin_sp='$terminSpl', kwota=NULL WHERE ug_id_proc = $cid";
  14. else
  15. $sKomendaSQL = "UPDATE ugody SET data_umowy='$dataZaw', termin_sp='$terminSpl', kwota=$kwota WHERE ug_id_proc = $cid";
  16. ...
  17. ...


Ten post edytował beel 3.07.2011, 22:12:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Kod
$dataZaw = !is_null($_POST['sUGO_DATA']) ? $_POST['sUGO_DATA'] : NULL;
$kwota = !is_null($_POST['sUGO_KWOTA']) ? $_POST['sUGO_KWOTA'] : NULL;;
$terminSpl = !is_null($_POST['sUGO_TERMIN']) ? $_POST['sUGO_TERMIN'] : NULL;;


Generalnie, lepiej napisać dla czegoś takiego funkcje/metodę, ponieważ wiele razy będziesz się powtarzał, a tak w swojej funkcji/metodzie będziesz mógł dorzucić od razu jakąś domyślną wartość, escapowanie itp itd. przykładowo:

Kod
function getPost($keyName, $default = null)
{
    return !isset($_POST[$keyName]) || is_null($_POST[$keyName]) ? $default : $_POST[$keyName];
}


I wtedy już tylko bezpośrednio w zapytaniu:

Kod
$sKomendaSQL = "UPDATE ugody SET data_umowy='".getPost('sUGO_DATA')."', termin_sp='".getPost('sUGO_TERMIN')."', kwota='".getPost('sUGO_KWOTA')."' WHERE ug_id_proc = $cid";


Czy coś. Od tego masz funkcje, klasy i tym podobne, żeby nie pisać x razy tego samego.

Ten post edytował by_ikar 4.07.2011, 10:03:22
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: 14.10.2025 - 21:32