LFN 0 Denunciar post Postado Agosto 15, 2015 Encontrei código na internet para usar, porém está dando "erro". $ano = $_POST['atrib4']; $mes = $_POST['atrib5']; for($dd=1; $dd<$quantidadedia + 1; $dd++) { $u = date("w", mktime(0,0,0,$mes,$dd,$anoo)); switch($diasemana) { case"0": $diasemana = "Domingo"; break; case"1": $diasemana = "Segunda-Feira"; break; case"2": $diasemana = "Terça-Feira"; break; case"3": $diasemana = "Quarta-Feira"; break; case"4": $diasemana = "Quinta-Feira"; break; case"5": $diasemana = "Sexta-Feira"; break; case"6": $diasemana = "Sábado"; break; } } Janeiro e Fevereiro estão OK. O restante dos meses está tudo errado. O dia não confero com o Switch. Já tentei de tudo. Alguém pode me ajudar. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 16, 2015 Seu switch está ilógico, não está verificando nada aí. dê um print na variável $u e veja o que retorna. Compartilhar este post Link para o post Compartilhar em outros sites
LFN 0 Denunciar post Postado Agosto 16, 2015 O código acima foi só um exemplo... $ano = $_POST['atrib4']; $mes = $_POST['atrib5']; for($dd=1; $dd<$quantidadedia + 1; $dd++) { $diasemana = date("w", mktime(0,0,0,$mes,$dd,$anoo)); switch($diasemana) { case"0": $diasemana = "Domingo"; break; case"1": $diasemana = "Segunda-Feira"; break; case"2": $diasemana = "Terça-Feira"; break; case"3": $diasemana = "Quarta-Feira"; break; case"4": $diasemana = "Quinta-Feira"; break; case"5": $diasemana = "Sexta-Feira"; break; case"6": $diasemana = "Sábado"; break; } } Então, eu resumi o código acima... É que estou usando para incluir registros e preciso saber com certeza os dias que são sábado, domingo etc. Pois dependendo do dia é incluido algo diferente... Como eu comentei, o mês de janeiro e fevereiro de 2015 estão perfeitos segundo o código acima. Porém, inexplicavelmente os meses posteriores não estão de acordo com o código acima...Por exemplo, às vezes a ordem ali (que vai de 0=Domingo ao sábado=6) está diferente. Consegui achar a de março. Porém, os meses subsequentes são diferentes também.... não queria achar manualmente cada mês, pois não quero limitar ao ano de 2015... E já inverti a ordem ali do mktime para (d-m-Y) ou (m-d-Y) ou mesmo (Y-m-d) porém não uniformizou... Eu não entendo o porquê dos meses janeiro e fevereiro funcionar corretamente e os outros não... Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Agosto 16, 2015 $diasemana = date("w", mktime(0,0,0,$mes,$dd,$anoo)); Você está usando a variável "$anoo", sendo que o correto seria $ano. //$ano = $_POST['atrib4']; //$mes = $_POST['atrib5']; $ano = '2015'; $mes = '08'; $ultimo_dia_mes = date('t', strtotime($ano.'-'.$mes.'-01')); //echo $ultimo_dia_mes.'<br />'; for($dd=1; $dd<=$ultimo_dia_mes; $dd++) { $diasemana = date("w", mktime(0,0,0,$mes,$dd,$ano)); switch($diasemana) { case"0": $diasemana = "Domingo"; break; case"1": $diasemana = "Segunda-Feira"; break; case"2": $diasemana = "Terça-Feira"; break; case"3": $diasemana = "Quarta-Feira"; break; case"4": $diasemana = "Quinta-Feira"; break; case"5": $diasemana = "Sexta-Feira"; break; case"6": $diasemana = "Sábado"; break; default: $diasemana = 'erro'; } echo $diasemana.'<br />'; } Testei aqui e retornou todos os dias da forma correta... Compartilhar este post Link para o post Compartilhar em outros sites
LFN 0 Denunciar post Postado Agosto 16, 2015 O problema estava exatamente ai. Obrigado. Está funcionando legal agora, mas tenho que por o ano como variável definida: $ano = '2015'; porque se eu pegar de um txt não funciona, você sabe me dizer o por quê? $ano = $_POST['txtano']; Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Agosto 16, 2015 dê um print_r($_POST) e veja o que está vindo do formulário... Compartilhar este post Link para o post Compartilhar em outros sites
LFN 0 Denunciar post Postado Agosto 18, 2015 Consegui. Por algum motivo a variável estava vindo com um caractere a mais, então sub-esseterrei ela. Compartilhar este post Link para o post Compartilhar em outros sites