Ir para conteúdo
Fórum Script Brasil

Rudy

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Rudy

Rudy's Achievements

0

Reputação

  1. Aloha pessoas, sou bem iniciante em php, porém estou fazendo um scrip que faz o segunte: Tendo os dados, hora de registro, hora atual, data registro e data atual, prazo de entrega e notificação. Eu estava tentando fazer um scrip que pegaga as horas do registro e soma com o prazo de entrega, ai quando as horas atuais fosse igual ao prazo de entrega menos o tempo de notificação é mandando um e-mail para alguém avisando que falta XX minutos para o prazo vencer. To levando em conta tambem dias e horas uteis da semana, tendo como base seg a quinta das 8:00 as 18:00 e sextas das 8:00 as 17:00. Bom meu problema está mesmo na comparação de horas, já programo um pouco em java, mas php sou iniciante mesmo. Olhem o codigo da para entender melhor <html> <head> <title>Teste PHP</title> </head> <body> <?php $dia = date("D"); // pegando a data em formato extenso switch($dia) { case "Fri"; // sexta-feira $dia = "Sexta-Feira"; case "Sat"; //Sabado $dia = "Sabado"; case "Sun"; //domingo $dia = "Domingo"; case "mon"; // segunda-feira $dia = "Segunda-Feria"; case "Tue"; //Terça-Feira $dia = "Terça-Feria"; case "Wed"; //quarta-feira $dia = "Quarta-Feira"; case "Thu"; //quinta-feira $dia = "Quinta-Feira"; } ?> <?php $dtCham = date ("$dia/$mes/$ano");//data recebida no formato dd/mm/aaaa $hrCham = date ("$hr:$min"); $dtAtual = date ("j/m/y"); $hrAtual = date ("H:i"); $notif = "";//valor em minutos $prazo = date ("$PH:$PM");;//prazo recebido no formato hr:min $email = ""; //tranformando hora chamada em minutos function emMin1($hrCham) { $novaHr = $hrCham; if(strpos($hrCham,":")) { $dados = explode(":",$hrCham); $novaHr = $hrCham[0]*60; $novaHr += $hrCham[1]; } return $novaHr; } //trnasformando prazo em minutos function emMin2($prazo) { $novoPrzo = $prazo; if(strpos($prazo,":")) { $dados = explode(":",$prazo); $novoPrzo = $prazo[0]*60; $novoPrzo += $prazo[1]; } return $novoPrzo; } $hrUtil1 = date ("08:00");//hora util começo do dia //Transformando hora util do começo do dia em minutos function emMin3($hrUtil1) { $utilMin1 = $hrUtil1; if(strpos($hrUtil1,":")) { $dados = explode(":",$hrUtil1); $utilMin1 = $hrUtil1[0]*60; $utilMin1 += $hrUtil1[1]; } return $utilMin1; } $hrUtil = date ("18:00");//hora util fim do dia de segunda a quinta //Transformando hora util do fim do dia em minutos function emMin4($hrUtil) { $utilMin = $hrUtil; if(strpos($hrUtil,":")) { $dados = explode(":",$hrUtil); $utilMin = $hrUtil[0]*60; $utilMin += $hrUtil[1]; } return $utilMin; } $utilSexta = date ("17:00");//hora util da sexta feira //Transformando hora util da sexta em minutos function emMin5($utilSexta) { $utilMin = $utilSexta; if(strpos($utilSexta,":")) { $dados = explode(":",$utilSexta); $utilSex = $utilSexta[0]*60; $utilSex += $utilSexta[1]; } return $utilSex; } $przoEnt = $novaHr + $novoPrzo; //compara se o dia é sexta, para trabalhar com horas da sexta if($dia === Sexta-Feira){ $resto = $przoEnt - $utilSex; $nvPrzo = $resto + $utilMin1; //Transforma $nvPrzo em horas function emHora($nvPrzo) { $hora = $nvPrzo/60; $hora = (int)$hora; $minutos = $nvPrzo%60; if($hora<10) { $hora = "0".$hora; } if($minutos<10) { $minutos = "0".$minutos; } $nova = $hora.":".$minutos; return $nova; } //somando tres dias no novo prazo $nvPzD = date("H:i j/m/y", mktime($nova[0],$nova[1],0,$dtCham[0]+3,0,0)); } else{//Trabalha com a hora util do resto dos dias da semana if ($przoEnt > $utilMin){ $resto = $przoEnt - $utilMin; $nvPrzo = $resto + $utilMin1; //Transforma $nvPrzo em horas function emHora($nvPrzo) { $hora = $nvPrzo/60; $hora = (int)$hora; $minutos = $nvPrzo%60; if($hora<10) { $hora = "0".$hora; } if($minutos<10) { $minutos = "0".$minutos; } $nova = $hora.":".$minutos; return $nova; } //somando um dia no novo prazo $nvPzD = date("H:i j/m/y", mktime($nova[0],$nova[1],0,$dtCham[0]+1,0,0)); } else{ $nvPrzo = $przoEnt; } } //subtrai o prazo de entrega pelo tempo para notificação $nvPrzo = $przoEnt - $notif; //transforma hora atual em minutos function emMin1($hrAtual) { $novaHrA = $hrAtual; if(strpos($hrAtual,":")) { $dados = explode(":",$hrAtual); $novaHrA = $hrAtual[0]*60; $novaHrA += $hrAtual[1]; } return $novaHrA; } if($nvPrzo == $novaHrA){ mail("$email", "Assunto", "Line1 da msg\nLine2 da msg\nLine 3 da msg"); } else{ } ?> </body> </html> Bom estava tentando testar o codigo, mas não estou conseguindo por causar de alguns erros, que acredito que sejam por causa da sintaxe da linguagem que não conheço bem, principalmente na hora de usar os if's para comparar horas. No segundo if do codigo que está dentro do primeiro else nesta linha else{//Trabalha com a hora util do resto dos dias da semana if ($przoEnt > $utilMin) essa é uma comparação que ta dando erro e eu não sei por que, já que os dois valores estão convertidos em minutos acho que posso utilizar o operador > não é?? Aguardo ajuda Desde já agradeço, Obrigado...
×
×
  • Criar Novo...