- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- inserire data nascita in db mysql
-
inserire data nascita in db mysql
Salve ennesimo quesito
Ho 3 <select> per gg/mm/yyyy che rappresentano la data di nascita del mio utente.
Ora in 'scrividata.php' ho:$gg=$_POST['giorno']; $mm=$_POST['mese']; $yy=$_POST['anno']; if checkdate($$mm,$gg,$yy){$dataN=$gg.'/'.$mm.'/'.$yy;} //INSERT INTO blablabla.... insert into tab_utenti(datanascita) VALUES ('$dataN')";
...se vado a dare un'occhiata nel database la data non me la memorizza per niente (il campo è di tipo DATETIME come separatori usa i trattini ...)
dove sbaglio ?
Thanks all
-
Io le date di solito le tratto con un varchar(8) del tipo:
15 febbraio 2008 -> 20080215
Nel database salvo quindi il avlore 20080215 in un varchar(8)
Quando poi estraggo i valori dal DB, supponendo di avere una data estratta in $dataEstratta eseguo:
$data=substr($dataEstratta,4,0)."/".substr($dataEstratta,2,4)."/".substr($dataEstratta,2,6);
-
Ciao Gandalf
prova ad inserirla nel formato inglese, e magari prova come solitamente faccio io:
[PHP]$data=$yy."-".$mm."-".$gg;
$sql="INSERT INTO table (datanascita) VALUE ('$data')";
[/PHP]
facci sapere se risolvi
-
Grazie Samyorn ho risolto col tuo suggerimento ma anke quello di buccia81 non era malvagio ... tra le 2 scuole di pesiero quale pensate sia la migliore ?
thanks all
-
Samyorn per l'unico motivo che non fà processare la data a php e rende il tutto più veloce
-
*massimux *che bello vederti ovunque sei onnipresente !!!!
Grazie ragazzi
P.S.
Appena puoi spara pure un bel titolo [book]... (vedi post sulle classi)
-
Salve.
Il mio modo di trattare le date è nato dalla necessità di avere le righe del DB prdinate per data. Infatti uso spesso la data come discriminante per l'estrazione.
Usando la forma yyyymmdd ottengo un valore della data sempre crescente. Es:Ierilaltro: 20080213 (Venti milioni e ottantamila duecentrotredici)
Ieri: 20080214 (Venti milioni e ottantamila duecentroquattordici)
Oggi: 20080215 (Venti milioni e ottantamila duecentroquindici)Se si deve usare la data solo per stamparla a video, tanto vale memorizzarla come giustamente dite già formattata con i separatori "-" e "/".
Se invece si usa la data per discriminare altre operazioni, a mio avviso la data scritta in quella forma fa molto comodo.Da non trascurare che io posso memorizzare la mia data in un VARCHAR(8) o in un INT(8). Se invece la formatto con i separatori devo memorizzarla in un VARCHAR(10).