Cltaco 0 Denunciar post Postado Junho 24, 2009 Olá, gostaria da ajuda dos amigos para resolver uma problema que tenho com data no PHP, eu tenho um formulário que envia varios campos inclusive um campo data no formato Dia/Mes/Ano, no script que recebe esta data o que devo fazer para que ele recebe esta informação e insira no banco de dados do mysql que só aceita a data no formato Ano/Mes/Dia. alguem poderia me ajudar? $data= $_POST ["data"]; altero aqui ou na clausula insert? obrigado Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Junho 25, 2009 $data = $_POST['data']; //altero aqui ou na clausula insert? É mais facil tratar a DATA para o padrão do banco ali onde citou do que no meio de uma query, não? ;) Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 26, 2009 Atenção: Este subfórum é destinado apenas para postagem de desafios que ajudarão na elevação do nível de seus participantes. Não é permitido a abertura de tópicos com dúvidas. Para isso, use o Fórum de PHP. Tópico Movido: PHP » Desafios (PHP) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif PHP ../ ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
polloooo 0 Denunciar post Postado Junho 26, 2009 sou iniciante ainda, mas o próprio php tem a função date() e axo q você nao precisa pegar essa variavel do formulário com o $_POST vê se isso pode te ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 26, 2009 http://forum.imasters.com.br/index.php?showtopic=350242 Compartilhar este post Link para o post Compartilhar em outros sites
Will Fernando 2 Denunciar post Postado Junho 26, 2009 sou iniciante ainda, mas o próprio php tem a função date() e axo q você nao precisa pegar essa variavel do formulário com o $_POSTcaso ele queira a data atual sim .. mas as vezes os clientes preferem poder controlar a data ^^ tipo ... caso ele teria que cadastra uma coisa onte mas ele se esqueceu.. ou outras cituações assim valww =] Compartilhar este post Link para o post Compartilhar em outros sites
jhoy_source 0 Denunciar post Postado Junho 30, 2009 Olá, gostaria da ajuda dos amigos para resolver uma problema que tenho com data no PHP, eu tenho um formulário que envia varios campos inclusive um campo data no formato Dia/Mes/Ano, no script que recebe esta data o que devo fazer para que ele recebe esta informação e insira no banco de dados do mysql que só aceita a data no formato Ano/Mes/Dia. alguem poderia me ajudar? $data= $_POST ["data"]; altero aqui ou na clausula insert? obrigado Um exemplo bem simples seria assim: <?php $data = "21/02/2009"; $explode = explode('/', $data); $data = $explode[2]."/".$explode[1]."/".$explode[0]; echo $data; ?> Sei que existem modos bem mais fáceis de fazer isso mas eu também sou aprendiz e só conheço essa, espero qeu seja útil de algum modo. edit: editei seguindo a dica do Beraldo. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Junho 30, 2009 prefira explode a split. split usa ER. Isso deixa a execução um pouco mais lenta explode usa string, então é mais rápida Compartilhar este post Link para o post Compartilhar em outros sites
jhoy_source 0 Denunciar post Postado Junho 30, 2009 prefira explode a split. split usa ER. Isso deixa a execução um pouco mais lenta explode usa string, então é mais rápida obrigado pela dica amigo, como disse ainda sou iniciante e não sabia disso já vou por em prática aqui ^^ Thank Compartilhar este post Link para o post Compartilhar em outros sites
Yunie~ 0 Denunciar post Postado Junho 30, 2009 acho que é melhor fazer 3 campos no formulário, pedindo dia/mês/ano, bem mais simples e funcional. Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Junho 30, 2009 Em vez de fazer isso, $data = $explode[2]."/".$explode[1]."/".$explode[0]; Usa array_reverse(). Bem melhor. Compartilhar este post Link para o post Compartilhar em outros sites
jhoy_source 0 Denunciar post Postado Junho 30, 2009 Em vez de fazer isso, $data = $explode[2]."/".$explode[1]."/".$explode[0]; Usa array_reverse(). Bem melhor. bom usando array_reverse eu poderia fazer algo como: <?php $data = "21/02/2009"; $explode = explode('/', $data); $explode = array_reverse($explode); echo implode('-', $explode); ?> acredito estar mais funcional http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif edit: irá devolver separado por "-" Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Junho 30, 2009 É quase isto... O padrão para banco de dados é AAAA-MM-DD. Com separador pelo - e não pela barra. Só alterar isto e vai ficar muito bom. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
jhoy_source 0 Denunciar post Postado Junho 30, 2009 Já editei para devolver separado por "-". <?php $data = "21/02/2009"; $explode = explode('/', $data); $explode = array_reverse($explode); echo implode('-', $explode); ?> Sobre a idéia do Yunie~ também iria funcionar, mas acredito que seria mais trabalhoso, pois teriámos que add mais dois campos no form e receber duas váriaveis a mais o que em forms que tenhan bastante campos e já mandan bastante variáveis seria melhor evitar o uso de mais duas. Se eu estiver errado favor me corrigirem :P Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Junho 30, 2009 Está certo, mas não faça isso. Trabalhe com o tipo DATE do MySQL, te garanto que vai evitar muitas dores de cabeça. Compartilhar este post Link para o post Compartilhar em outros sites