rootzig 1 Denunciar post Postado Fevereiro 24, 2011 Boa tarde, Gostaria de saber se alguém já passou por isso. Outros meses o calendário é gerado certo, só no mês de Fevereivo que está acontencendo isso :( Ainda não tive idéia de como faze funcionar certo. Segue a imagem: http://img571.imageshack.us/f/erroestranho.jpg/ valeu, té mais Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Fevereiro 24, 2011 Cade o código? :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
rootzig 1 Denunciar post Postado Fevereiro 24, 2011 segue uma parte, o que gera: //gera o intervalo de data--------------------------------------------------------- $mes_ini = $mes; //mes inicial $mes_fim = $mes1; //mes final $dia_ini = $_POST['dia']; //dia inicial $dia_fim = $_POST['dia1']; //dia final $ano_ini = $_POST['ano']; //ano inicial $ano_fim = $_POST['ano1']; //ano final $dini = mktime(0,0,0,$mes_ini,$dia_ini,$ano_ini); // timestamp da data inicial $dfim = mktime(0,0,0,$mes_fim,$dia_fim,$ano_fim); // timestamp da data final while($dini <= $dfim)//enquanto uma data for inferior a outra { //echo $dt."<br>"; //exibindo a data //loop com a quantidade de dias------------------------------------------------ //for ($i=1;$i<=$tot_dias;$i++) { // $trataData1 = date("Y-m-d",$dini);//convertendo a data no formato dia/mes/ano $trataData = explode("-",$trataData1); $data1 = date("Y-m-d", mktime(0,0,0, $trataData[1], $trataData[2],$trataData[0])); $sql = mysql_query("SELECT * from ponto where id_funcionario = $funcionario and data_hora like '$data1%' order by data_hora ") or die(mysql_error()); $tot = mysql_num_rows($sql); $dia_semana = get_dia($trataData[2], $trataData[1], $trataData[0]); //para ver quem está com falta $sqlFalta = mysql_query("SELECT distinct falta, data_hora from ponto where id_funcionario = $funcionario and data='$data1' order by data_hora ") or die(mysql_error()); $falta = mysql_fetch_assoc($sqlFalta); $tot_horas = 0; $ultima_entrada = 0; //$dataAtual2 = data(); $tot_horas_mes_show = NULL; echo "<tr>\n"; echo "\t<td bgcolor=\"#FFEC8B\"><center>".date("d/m/Y", mktime(0,0,0, $trataData[1], $trataData[2], $trataData[0]))."</center></td>\n"; echo "\t<td bgcolor=\"#FFEC8B\"><center>".$dia_semana."</center></td>\n"; //tipo = FA: faltas FO: folgas AT: atestado //$tipoBatidas = $falta['falta']; //loop pegando as batidas do dia for ($k=0;$k<$tot;$k++) { $reg = mysql_fetch_array($sql); $tipo=$reg[2]; $hora=explode(" ",$reg[4]); //$dataBanco = $hora[0]; $clock=explode(":",$hora[1]); $hora=$clock[0]; $min=$clock[1]; if ($tipo==0) { $ultima_entrada = ($min + ($hora*60)); }else{ $tot_horas += (($min + ($hora*60)) - $ultima_entrada); } //echo $tipoBatidas; //echo $tot_horas; if($tipoBatidas == "AT"){ echo "\t<td bgcolor=\"#DEB887\"><b><center>".$hora.":".$min."</center></b></td>\n"; }else{ echo "\t<td bgcolor=\"#CDCDC1\"><b><center>".$hora.":".$min."</center></b></td>\n"; } }//fim //pega a Hora e o Resto da Divisão para o minuto $hora = $tot_horas / 60; $min = $tot_horas % 60; //$horas_dia - hora de trabalho por dia, setado no cadastro----------------------------------------------------------------------------------------------------------- //$horad = explode(":",$horas_dia); $segSab = "outros"; //$dia_semana = get_dia($trataData[2], $trataData[1], $trataData[0]); //echo "<h1>".$dia_semana."</h1>"; //carga horaria para funcionarios que fazer de segunda a sexta: 8h e sabado: 4horas, valor para teste, o certo vira pelo banco if($segSab == "outros"){ if($dia_semana == "SEG"){ $hd = "8:00"; $contaHorario = $contaHorario + 8; if($falta['falta'] == "FO"){ $folga = $falta['data_hora']; $hdF = $hdF + 8; } }elseif ($dia_semana == "TER"){ $hd = "8:00"; $contaHorario = $contaHorario + 8; if($falta['falta'] == "FO"){ $folga = $falta['data_hora']; $hdF = $hdF + 8; } }elseif ($dia_semana == "QUA"){ $hd = "8:00"; $contaHorario = $contaHorario + 8; if($falta['falta'] == "FO"){ $folga = $falta['data_hora']; $hdF = $hdF + 8; } }elseif ($dia_semana == "QUI"){ $hd = "8:00"; $contaHorario = $contaHorario + 8; if($falta['falta'] == "FO"){ $folga = $falta['data_hora']; $hdF = $hdF + 8; } }elseif ($dia_semana == "SEX"){ $hd = "8:00"; $contaHorario = $contaHorario + 8; if($falta['falta'] == "FO"){ $folga = $falta['data_hora']; $hdF = $hdF + 8; } }elseif ($dia_semana == "SAB"){ $hd = "4:00"; $contaHorario = $contaHorario + 4; if($falta['falta'] == "FO"){ $folga = $falta['data_hora']; $hdF = $hdF + 4; } }else{ $hd = "0:00"; } //echo "<h1>".$hd."</h1>"; } //$hd = "03:00"; $horad = explode(":",$hd); $hora_dia = $horad[0]; $min_dia = $horad[1]; if ($tot_horas >= (($hora_dia * 60) + $min_dia)) { $extra_falta = $tot_horas - (($hora_dia * 60) + $min_dia); $sinal = "+"; $cor = "#000000"; $font = "<font color=\"white\">"; $extraAtraso = "\t<td bgcolor=\"$cor\" >$font<center><b>".$sinal . date("H:i", mktime($extra_falta / 60 , $extra_falta % 60, $trataData[2], $trataData[1], $trataData[0]))."</center></b></td>\n"; $aeSim = date("H:i", mktime($extra_falta / 60 , $extra_falta % 60, $trataData[2], $trataData[1], $trataData[0])); $aeSim = explode(":", $aeSim); $aooo += ($aeSim[1] + ($aeSim[0]*60)); $divide = $aooo/60; $divide = explode(".",$divide); $divide1 = $aooo%60; $divide1 = $divide1 / 100; $divide1 = $divide1 * 60; if($divide1 <= 9){ $mostraHora = $divide[0].":"."0".$divide1; }else{ $mostraHora = $divide[0].":".$divide1; } //($min + ($hora*60)); $quebra1 = explode(":",$mostraHora); $quebra1 = ($quebra1[1] + ($quebra1[0]*60)); echo "<h1>Extra: ".$quebra1."</h1>"; }else { if($falta["falta"] != 'FO') { if($dia_semana == "SEG" || $dia_semana == "TER" || $dia_semana == "QUA" || $dia_semana == "QUI" || $dia_semana == "SEX" || $dia_semana == "SAB") { $extra_falta = (($hora_dia * 60) + $min_dia) - $tot_horas; $sinal = " -"; $cor = "#CD950C"; $extraAtraso = "\t<td bgcolor=\"$cor\" ><center>".$sinal . date("H:i", mktime($extra_falta / 60 , $extra_falta % 60, $trataData[2], $trataData[1], $trataData[0]))."</center></td>\n"; $negativo = date("H:i", mktime($extra_falta / 60 , $extra_falta % 60, $trataData[2], $trataData[1], $trataData[0])); $deuCerto = explode(":", $negativo); $blzera += ($deuCerto[1] + ($deuCerto[0]*60)); $pega = $blzera/60; $pega = explode(".",$pega); $pega1 = $blzera % 60; $pega1 = $pega1 / 100; $pega1 = $pega1 * 60; if($pega1 <= 9) { $mostraHora1 = $pega[0].":"."0".$paga1; }else{ $mostraHora1 = $pega[0].":".$pega1; } //($min + ($hora*60)); $quebra = explode(":",$mostraHora1); $quebra = ($quebra[1] + ($quebra[0]*60)); echo "<h1>Atraso: ".$quebra."</h1>"; } }else{ $cor = "#FFFFFF"; $extraAtraso = "\t<td bgcolor=\"$cor\" ><center>00:00</center></td>\n"; } } //horas totais trabalhadas no dia----------------------------------------------- $horas_trabalhadas = date("H:i", mktime($hora, $min, 0 , $trataData[2], $trataData[1], $trataData[0])); //coloca um fundo caso onde estiver sem registro-------------------------------- $corSemRegistro = "#EEEEEE"; //caso ainda não tenha registro coloca '--'------------------------------------- $msn = "<center>--</center>"; //trata o numero de até 6 batidas no dia, colocando o texto na varivél $msn if($tot == 0){ echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; } if($tot == 1){ echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; } if($tot == 2){ echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; } if($tot == 3){ echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; } if($tot == 4){ echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; } if($tot == 5){ echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; } if($tot == 6){ echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; } if($tot == 7){ echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; } //echo "\t<td bgcolor=\"#8B0000\"><center><font color=\"white\">".$horas_trabalhadas."</center></td>\n"; echo "\t<td bgcolor=\"#EEDD82\"><center><font color=\"black\"><b>".$hd."</b></font></center></td>\n"; echo "\t<td bgcolor=\"#EEDD82\"><center><font color=\"black\"><b>".$horas_trabalhadas."</b></font></center></td>\n"; echo $extraAtraso; /* $somaExtra = array $strip = explode(":",$extraAtraso); $somaExtra = $strip[1] */ if($falta['falta'] == 'F'){ echo "\t<td bgcolor=\"#8B1A1A\"><center><font color=\"white\"><b>".$falta['falta']."</b></font></center></td>\n"; }else{ echo "\t<td bgcolor=\"#EEDD82\"><center><b>".$falta['falta']."</b></center></td>\n"; } $tot_horas_mes+=$tot_horas; //adicionando mais 1 dia (em segundos) na data inicial, para continuar o loop $dini += 86400; } Compartilhar este post Link para o post Compartilhar em outros sites