kattycris 0 Denunciar post Postado Maio 18, 2015 Boa noite. Gente podem me ajudar? Eu estou fazendo um formulario em php e na altura que eu estou eu quero pegar o mes da data de cadastro no formulario da pagina em php para identificar o mes. Identificando o mes eu vou converter o numero do mes pra texto e depois disso jogar o nome no mysql. eu queria que alguem olhasse o codigo que eu fiz e visse se tem alguma coisa errada ou faltando. quando eu texto o cadastro so com a data pra pegar o mes a pagina em vez de mostrar o resultado nao mostra nada fica em branco. Queria testar o codigo primeiro antes de mon tar todo o resto do codigo do formulario e a estrutura do mysql. Testei varios jeitos. alguns apareceram mas foi a data q tava cadastrando. se alguem puder me ajudar agradeço <?php function capmes($data) { $data1 = explode("/",$data); switch (int($data1[1])) { case 1: $data1 = "Janeiro"; break; case 2: $data1 = "Fevereiro"; break; case 3: $data1 = "Março"; break; case 4: $data1 = "Abril"; break; case 5: $data1 = "Maio"; break; case 6: $data1 = "Junho"; break; case 7: $data1 = "Julho"; break; case 8: $data1 = "Agosto"; break; case 9: $data1 = "Setembro"; break; case 10: $data1 = "Outubro"; break; case 11: $data1 = "Novembro"; break; case 12: $data1 = "Dezembro"; break; } echo $data1; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 19, 2015 int() não é uma função você pode usar int no casting: $num = (int) $num; se quiser usar como função, deve usar intval: $num = intval( $num ); Habilite todas as exibições de erro como mostrado neste tópico. Isso fará com que qualquer erro seja exibido na tela Compartilhar este post Link para o post Compartilhar em outros sites
Mateus Silva 64 Denunciar post Postado Maio 19, 2015 Particularmente eu faria assim: function capmes($str){ $str = (int) $str; switch ($str){ case 1: $month = "Janeiro"; break; case 2: $month = "Fevereiro"; break; case 3: $month = "Março"; break; case 4: $month = "Abril"; break; case 5: $month = "Maio"; break; case 6: $month = "Junho"; break; case 7: $month = "Julho"; break; case 8: $month = "Agosto"; break; case 9: $month = "Setembro"; break; case 10: $month = "Outubro"; break; case 11: $month = "Novembro"; break; case 12: $month = "Dezembro"; break; default: $month = "Erro"; break; } return $month; } echo 'Estamos no mês de '.capmes(date('m')); E pronto! Já na sua função, acredito que o único erro seja o que o Beraldo disse mesmo o (int) não é uma função. Compartilhar este post Link para o post Compartilhar em outros sites
Snowden 94 Denunciar post Postado Maio 19, 2015 echo mes('15/03/2015'); // Março function mes($date){ setlocale(LC_ALL, 'ptb'); $format = date('Y-m-d', strtotime(str_replace('/', '-', $date))); return ucwords(strftime('%B', strtotime($format))); } Compartilhar este post Link para o post Compartilhar em outros sites
kattycris 0 Denunciar post Postado Maio 19, 2015 obrigada vou testar aki. Compartilhar este post Link para o post Compartilhar em outros sites
kattycris 0 Denunciar post Postado Maio 19, 2015 nenhuma dessas funções adiantou. o int eu coloquei pq um amigo disse pra por. a que o hugo posto mostra janeiro. é assim eu to com um formulario em que eu digito a data de cadastro. preciso pegar essa data e reconhecer o mes dela pois criei uma tabela no banco pra jogar o nome do mes tambem. é isso que eu quero e ate agora nao consegui. quando clico em cadastrar ele joga pra tela onde eu to fazendo pra capturar todos os dados do formulario e jogar no banco. no da data to recendo em uma variavel e dai eu tenho jogar nessas funções pra reconhecer o mes e jogar o nome do mes depois no banco tbm. ta complicado que eu ja vi um monte de exemplo e nada. ha e no formulario o campo pra data eu coloquei nome data do tipo date pra vcs entenderem nao é tipo text... Compartilhar este post Link para o post Compartilhar em outros sites
Mateus Silva 64 Denunciar post Postado Maio 19, 2015 Amigo, eu testei no meu PC o que mandei acima e funcionou normalmente, não sei qual dificuldade você teve... function capmes($str){ $str = (int) $str; switch ($str){ case 1: $month = "Janeiro"; break; case 2: $month = "Fevereiro"; break; case 3: $month = "Março"; break; case 4: $month = "Abril"; break; case 5: $month = "Maio"; break; case 6: $month = "Junho"; break; case 7: $month = "Julho"; break; case 8: $month = "Agosto"; break; case 9: $month = "Setembro"; break; case 10: $month = "Outubro"; break; case 11: $month = "Novembro"; break; case 12: $month = "Dezembro"; break; default: $month = "Erro"; break; } return $month; } //$mes1 = capmes('1'); $mes2 = capmes('2'); etc... // algum mês $mes = capmes(date('m')); // mes atual Compartilhar este post Link para o post Compartilhar em outros sites
kattycris 0 Denunciar post Postado Maio 19, 2015 a sua função ta me trazendo o mes atual eu nao quero o mes atual e sim o mes q eu digitei na data la no formulario. tipo hj e o primeiro dia do mes de junho sendo q a doação foi feita ontem. se eu bota a data de ontem que é do mes anterior tem q pegar a do mes anterior nao a do atual... Compartilhar este post Link para o post Compartilhar em outros sites
Mateus Silva 64 Denunciar post Postado Maio 19, 2015 Leia o que eu comentei, ele traz o mês atual porque eu to passando pra ele o mês atual $mes = capmes(date('m')); // mes atual nada que não possa ser feito dessa forma: $mes = capmes('3'); // mes 3 é só ler o código '-' Compartilhar este post Link para o post Compartilhar em outros sites