| Autor | Zpráva | ||
|---|---|---|---|
| max.max Profil |
#1 · Zasláno: 17. 1. 2013, 21:35:18
Nevím si rady, jak můžu uložit datum, které napíšu dd.mm.yyyy a v databázi to bude vypadat yyyy-mm-dd.
Podobné téma jsem tady nalezl, ale je zamčené jak bude vypadat INSERT? Zkrátka, chci napsat datum, aby se mi uložilo, ne aby se ukládalo aktuální datum. Tak vypadá aktuálně můj INSERT a nevím jak to tam vložit. Snažil jsem se to najít na internetu a nějak mi to nefungovalo. $sql = "INSERT INTO druzstva (id, druzstvo, datum, cas, propozice, jmeno, telefon, email, web, ikonka)
VALUES ('NULL','$druzstvo','$datum','$cas','$propozice','$jmeno','$telefon','$email','$web','$ikonka')";V databázi mám "datum" nastavené na DATE a ukládá se to do zmíňovaného formátu yyyy-mm-dd a tak to přesně potřebují uložit. Děkují za pomoc |
||
| Someone Profil |
#2 · Zasláno: 17. 1. 2013, 21:37:35
Date("Y-m-d",strtotime($datum)); |
||
| max.max Profil |
#3 · Zasláno: 17. 1. 2013, 21:49:47
nevím jak to tam dostat....
|
||
| Jan Tvrdík Profil |
#4 · Zasláno: 17. 1. 2013, 22:16:01
max.max:
„nevím jak to tam dostat.“ $sql = "INSERT INTO druzstva (id, druzstvo, datum, cas, propozice, jmeno, telefon, email, web, ikonka)
VALUES ('NULL','$druzstvo','" . date("Y-m-d", strtotime($datum)) . "','$cas','$propozice','$jmeno','$telefon','$email','$web','$ikonka')"; |
||
| max.max Profil |
#5 · Zasláno: 17. 1. 2013, 23:29:15
nádhera děkují za radu, funguje to.
|
||
| max.max Profil |
#6 · Zasláno: 19. 1. 2013, 12:36:29
A ještě jeden menší problém... Jak udělat to, aby když nezadám žádnou hodnotu, neuložilo se 01.01.1970, ale NULL? Zkrátka, chci mít to pole prázdné...
|
||
| Alphard Profil |
#7 · Zasláno: 19. 1. 2013, 18:58:47
|
||
|
Časová prodleva: 2 měsíce
|
|||
| max.max Profil |
#8 · Zasláno: 28. 3. 2013, 12:11:44
Nemám tušení, jak bych to mohl v praxi využit.
|
||
| max.max Profil |
#9 · Zasláno: 30. 3. 2013, 10:45:23
Jak bych mohl udělat to, aby když nevypíšu datum, se neuložilo 1.1.1970 ale byla ta kolonka prázdna? Předem děkují
$sql = "INSERT INTO druzstva (id, druzstvo, datum, cas, typ_souteze, propozice, jmeno, telefon, email, web, ikonka)
VALUES ('NULL','$druzstvo','" . date("Y-m-d", strtotime($datum)) . "','$cas','$typ_souteze','$propozice','$jmeno','$telefon','$email','$web','$ikonka')"; |
||
| Tori Profil |
#10 · Zasláno: 30. 3. 2013, 10:55:30
Neukládat ho. :) nastavte sloupeček na nulový (tj. aby mohl obsahovat kromě datumu i hodnotu NULL) a v dotazu přidejte podmínku:
$sql = "INSERT INTO druzstva (id, druzstvo, datum, cas, typ_souteze, propozice, jmeno, telefon, email, web, ikonka)
VALUES (NULL,'$druzstvo', "
. ($datum ? "'".date("Y-m-d", strtotime($datum))."'" : "NULL") .
",'$cas','$typ_souteze','$propozice','$jmeno','$telefon','$email','$web','$ikonka')";$sql = "INSERT INTO druzstva SET
druzstvo = '$druzstvo', cas = '$cas', typ_souteze = '$typ_souteze', propozice = '$propozice',
jmeno = '$jmeno', telefon = '$telefon', email = '$email',
web = '$web', ikonka = '$ikonka'";
if ($datum)
$sql .= ", datum = '".date("Y-m-d", strtotime($datum))."'"; |
||
| max.max Profil |
#11 · Zasláno: 30. 3. 2013, 11:16:13
děkují, funguje, nevěděl jsem jak to nastavit s hodnotou NULL.
|
||
| Alphard Profil |
Když je vstup prázdný, tak ten sloupec vůbec nevkládat, nebo explicitně vložit null, na to se hodí podmínky a empty(). Je to praktické využití podle mě.
To jak skládáte dotazy je celkově dost zpátečnické (spolu s neescapováním i nebezpečné) a tipuji, že postavené na dosluhující mysql extenzi, takže i nerozumné. Nemluvím hned o obřích ORM, ale i ta nejhloupější databázová vrstva má obvykle nějakou metodu, která přijme asociativní pole ve tvaru $insert = ['nazev_sloupce' => $hodnota, 'jiny_sloupec' => $jina_hodnota]; a vloží ho do db. S tím se pak pracuje mnohem lépe.
max.max [#9], Tori [#10]: Sem přesouvám z duplicitního vlákna. Zakládání duplicit je zakázané, bude-li se opakovat, nebudeme vás tady vidět rádi. |
||
|
Časová prodleva: 13 let
|
|||
0