ecacarva 0 Denunciar post Postado Março 6, 2005 Ola FabyoGostaria de saber como trato uma data antes de grava-la no php, pois criei um cadastro de clientes e quando gravo o dado no mysql, fica gravado 1/1/0001.grato Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Março 6, 2005 parece que tem coisa errada ai se você tivesse usando o campo DATE do banco ele nao iria aceitar essa data e ficaria 0000-00-00 e se nao tiver assim recomendo a deixar o campo da data como DATE e depois usar isso: $data = $_POST["data"];$arr = explode("/", $data); $data_nova = "$arr[2]-$arr[1]-$arr[0]"; // 0000-00-00 echo $data_nova Compartilhar este post Link para o post Compartilhar em outros sites
dnfeitosa 0 Denunciar post Postado Março 8, 2005 essa era uma duvida que eu tinha ate um tempinho atras... o que eu fiz foi o seguinte: pra dar o tratamento no formato da hora eu usei a função ereg() http://br.php.net/manual/pt_BR/function.ereg.php (ja na referencia do PHP ja tem como exemplo o tratamento de data) eu recomendo que no banco de dados voce use um campo apropriado para a data... o script para a inserção no BD você faz o seguinte: PHP [/tr][tr]$editFormAction = $HTTP_SERVER_VARS['PHP_SELF']; if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) { $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING']; } @$data = $_POST['data']; if (ereg ("([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})", $data, $regi)) { $databd = "$regi[3]-$regi[2]-$regi[1]"; } if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO teste (id, data) VALUES (%s, '$databd')", GetSQLValueString($_POST['id'], "int"), GetSQLValueString($data, "int")); [/tr] repare q no insert, onde deveria estar um'%s' referente ao campo 'data' eu coloquei o nome da variavel que eu tratei qualquer duvida, posta ae!! Compartilhar este post Link para o post Compartilhar em outros sites